QR-Rechnung
Der vollständige Zahlteil mit Empfangsschein nach dem Style Guide von SIX — 210 × 105 mm an der unteren Blattkante, mit QR-Code, Schweizerkreuz, festen Feldtiteln in vier Sprachen und den Leerfeldern mit Eckmarken. Werte hinterlegen, sofort sehen. Ein ungültiger Datensatz wird laut abgelehnt — eine falsche IBAN oder eine QR-IBAN ohne QR-Referenz erscheint als Fehler, nicht als hübsch gesetzter, unbrauchbarer Zahlteil.
- Nutzdaten: 223 Zeichen
- Bericht: leer — alles vollstaendig gedruckt.
- Hinweis: Der allgemeine Preflight ist fuer eine QR-Rechnung nicht der richtige Bericht (Helvetica ist laut SIX Style Guide zugelassen und nicht einzubetten; die 5-mm-Ruhezone kommt aus dem Layout). Gezeigt wird der fachlich passende SwissQrBillLayoutReport.
- 5,964 Byte
- Ladestatus: Success
- 1 Seite(n)
Der Zahlteil hat eine feste Groesse, die Werte aus dem Swiss QR Code haben keine. Was nicht hineinpasste, wurde gekuerzt und mit »…« gekennzeichnet — und hier gemeldet, statt still verschluckt.
Bericht leer — alle Angaben wurden vollstaendig gedruckt.
Direkt — derselbe Zahlteil an dieselbe Stelle,
direkt über die Zeichen-API
(PageCanvas.DrawSwissQrBillAtPageBottom).
Beide Wege erzeugen dasselbe Ergebnis — der Zahlteil gehört
auf einer integrierten QR-Rechnung immer an die untere Blattkante. Die Vorschau oben
bleibt darum stehen; es wechselt nur der gezeigte Quelltext.
using Kuonen.PDFTools.Authoring;
using Kuonen.PDFTools.Pages;
using Kuonen.PDFTools.Barcodes;
using Kuonen.PDFTools.QrBill;
var bill = new SwissQrBill
{
Iban = "CH4431999123000889012",
Currency = "CHF",
ReferenceType = SwissQrReferenceType.Qrr,
Reference = "210000000003139471430009017",
Creditor = SwissQrAddress.Structured(
"Max Muster & Soehne", "Musterstrasse", "123",
"8000", "Seldwyla", "CH"),
};
bill.Amount = 2500.25m;
bill.UltimateDebtor = SwissQrAddress.Structured(
"Simon Muster", "Musterstrasse", "1",
"8000", "Seldwyla", "CH");
var options = new SwissQrBillLayoutOptions { Language = SwissQrBillLanguage.German };
var builder = new PdfDocumentBuilder { Title = "QR-Rechnung" };
PageCanvas page = builder.AddPage(PageSize.A4);
// Der Zahlteil sitzt an der unteren Blattkante — die einzige zulaessige Stelle.
page.DrawSwissQrBillAtPageBottom(bill, options);
byte[] pdf = builder.Build();