getPaperFromReceipt static method
Future<PrintPaper>
getPaperFromReceipt(
- KasseneckReceipt receipt,
- KeckPaperSize paperSize, {
- QrPrintMode qrMode = QrPrintMode.imageRaster,
- QrModulGroesse qrGroesse = QrModulGroesse.auto,
- DruckLogo? logo,
- bool marke = false,
Setzt receipt als Beleg und gibt das fertige Papier zurueck -- die
eine Stelle, an der PrintPaper fuer einen Beleg entsteht.
Der Rueckgabewert traegt neben bytes und myPosPaper auch
PrintPaper.qrFehler; dieser Weg ruehrt letzterQrFehler nicht an und
ist damit frei von globalem Zustand.
logo muss fuer paperSize gerastert sein (ladeDruckLogo(url, stufe, paperSize)): ein DruckLogo fuer eine andere Papierbreite laesst den
Druck mit ArgumentError abbrechen, bevor ein Byte entsteht.
Implementation
static Future<PrintPaper> getPaperFromReceipt(
KasseneckReceipt receipt,
KeckPaperSize paperSize, {
QrPrintMode qrMode = QrPrintMode.imageRaster,
QrModulGroesse qrGroesse = QrModulGroesse.auto,
DruckLogo? logo,
bool marke = false,
}) async {
final PrintPaper paper =
PrintPaper(paperSize: paperSize, profile: KeckPrinterService.profile ?? CapabilityProfile());
final BelegLayout? layout = receipt.layout;
if (layout != null && receipt.layoutIstVollstaendig) {
// [logo] und [marke] gelten nur fuer das Blatt; der Altweg kennt sein
// eigenes Logo (`receipt.logo`) und Branding (`showKreiseckLogo`).
await paper.setBelegBlatt(layout, logo: logo, marke: marke, qrMode: qrMode, qrGroesse: qrGroesse);
} else {
await paper.setKeckReceipt(receipt, qrMode: qrMode, qrGroesse: qrGroesse);
}
return paper;
}