zplCore.comzplCore.com
class51 members

PrinterProfile

public sealed class PrinterProfile

Device and firmware profile of one printer model at one resolution ("printer twin"): print width and length, speed, memory, options, resident fonts, languages and firmware. Every field is a ProfileFact with a cited source or marked unknown. Built-in profiles: PrinterProfiles.BuiltIn; custom profiles are loaded from JSON with the same schema (PrinterProfiles.Load).
Model names identify the hardware the data describes; zplCore is not endorsed, sponsored or certified by the printer vendor.

Constructors

SignatureDescription
# PrinterProfile()

Properties

PropertyTypeDescription
Aliases { get; init; }IReadOnlyList<string>Other names that PrinterProfiles.Find accepts (e.g. "ZD421-203").
Applicator { get; init; }ProfileFact<OptionAvailability>
BitmapFonts { get; init; }ProfileFact<IReadOnlyList<string>>Resident ZPL bitmap font ids (e.g. A–H, GS, P–V).
Category { get; init; }stringdesktop, industrial, mobile or generic.
Cutter { get; init; }ProfileFact<OptionAvailability>
Description { get; init; }stringFree text, e.g. "203 dpi direct thermal".
DotsPerMm { get; }doubleDots per mm of the printhead, 0 when unknown: 6, 8, 12 or 24 for 152, 203, 300 and 600 dpi (the guide's printheads, "8 dot/mm (203 dpi)", [Z] p.294 / ~HI p.224), else dpi / 25.4.
Dpi { get; init; }ProfileFact<int>Print resolution in dots per inch.
Family { get; init; }stringModel family, e.g. "ZD421".
Firmware { get; init; }ProfileFact<string>Latest firmware version found in the sources, e.g. "V93.21.39Z".
FirmwareOverride { get; }stringThe firmware override set by PrinterProfile.WithFirmware, if any.
FirmwareText { get; }stringThe firmware the checks assume, as written (override or PrinterProfile.Firmware), null when unknown.
FirmwareVersion { get; }ZplFirmwareVersionFirmware the checks assume (PrinterProfile.Firmware unless overridden with PrinterProfile.WithFirmware).
FlashMb { get; init; }ProfileFact<double>Total flash in MB.
FontStatement { get; init; }ProfileFact<string>The resident font statement of the source, summarised (counts, Unicode, TrueType/OpenType, Asian fonts).
HostIdModel { get; init; }ProfileFact<string>Model string that the printer reports in ~HI (first field), when known from a real response.
required Id { get; init; }stringUnique id, e.g. "ZD421d-203".
InstalledOptions { get; init; }PrinterOptionOptions assumed to be installed (default: the options that are OptionAvailability.Standard). Use PrinterProfile.WithOptions to model a printer with e.g. a cutter.
Interfaces { get; init; }ProfileFact<IReadOnlyList<string>>
IsBuiltIn { get; init; }boolTrue for profiles shipped with zplCore.
Languages { get; init; }ProfileFact<IReadOnlyList<string>>Printer languages, e.g. ZPL II, EPL2, CPCL, XML, ZBI, PDF Direct.
Linerless { get; init; }ProfileFact<OptionAvailability>
LinkOs { get; init; }ProfileFact<string>Link-OS version of PrinterProfile.Firmware, e.g. "7.4".
MaxPrintLengthDots { get; }int?Maximum print length in dots, null when unknown.
MaxPrintLengthMm { get; init; }ProfileFact<double>Maximum print length in mm (the largest stated value, e.g. continuous media).
MaxPrintSpeedIps { get; init; }ProfileFact<double>Maximum print speed in inches per second.
MaxPrintWidthDots { get; }int?Printhead width in dots (from PrinterProfile.MaxPrintWidthMm and PrinterProfile.Dpi), null when unknown.
MaxPrintWidthMm { get; init; }ProfileFact<double>Maximum print width (printhead width) in mm.
MinPrintSpeedIps { get; init; }ProfileFact<double>Lowest programmable print speed in inches per second.
required Model { get; init; }stringModel name, e.g. "ZD421d".
Peeler { get; init; }ProfileFact<OptionAvailability>
PrintMethods { get; init; }ProfileFact<IReadOnlyList<PrintMethod>>
RamMb { get; init; }ProfileFact<double>Total RAM (SDRAM/DRAM) in MB.
RealTimeClock { get; init; }ProfileFact<OptionAvailability>
Rewinder { get; init; }ProfileFact<OptionAvailability>
Rfid { get; init; }ProfileFact<OptionAvailability>
ScalableFonts { get; init; }ProfileFact<IReadOnlyList<string>>Resident scalable ZPL font ids (e.g. "0").
Sources { get; init; }IReadOnlyDictionary<string, ProfileSource>Cited sources by id.
TrueTypeFonts { get; init; }ProfileFact<bool>Downloadable TrueType / OpenType fonts are supported.
Unicode { get; init; }ProfileFact<bool>The vendor states Unicode support.
UserFlashMb { get; init; }ProfileFact<double>User-available non-volatile memory (E: drive) in MB.
UserRamMb { get; init; }ProfileFact<double>User-available RAM (R: drive) in MB.
Vendor { get; init; }stringVendor of the hardware described (descriptive only).

Methods

Method SignatureReturnsDescription
# Availability(PrinterOption option)ProfileFact<OptionAvailability>Availability of one option.
# CreateRenderSettings(ZplRenderSettings? baseSettings = default)ZplRenderSettingsRender settings for this printer: dpi, label width = printhead width (^PW can only make it smaller on the printer), ZplRenderSettings.CutterInstalled. Properties of baseSettings (field values, output format ...) are kept.
# Facts()IReadOnlyList<(string, ProfileFactStatus, string, IReadOnlyList<string>, string)>All facts by JSON name, for coverage reports.
# Has(PrinterOption option)boolThe option is installed on the modelled printer.
# ToString()string
# WithFirmware(string firmware)PrinterProfileA copy that the checks treat as running firmware (e.g. "V60.13.0.10" for an old printer).
# WithOptions(PrinterOption options)PrinterProfileA copy with these options installed in addition to the standard ones. Throws ArgumentException when a source explicitly says the model has no such option (verified "none"); options that are only not listed (derived "none") or unknown can be installed.