manuelbl / SwissQRBill.NET

.NET library for Swiss QR bill payment slips (aka QR-Rechnung)
MIT License
88 stars 33 forks source link

Vertikale Perforationslinie #26

Closed mikekaufmann closed 3 years ago

mikekaufmann commented 4 years ago

Ist es möglich, die vertikale Perforationslinie nicht zu zeichnen?

Hintergrund: Kunde hat bereits performiertes Papier

manuelbl commented 4 years ago

Es ist möglich mit dem SeparatorType Property zu steuern, ob und welche Art von Linien gezeichnet wird.

Bill bill = new Bill
{
    ....
    Format =
    {
        SeparatorType = SeparatorType.None
    }
}

Passt einer der Enum-Werte (siehe Enum SeparatorType)?

mikekaufmann commented 4 years ago

Herzlichen Dank- das funktioniert wunderbar!

Ein wenig wiedersprüchlich finde ich das im Zusammenhang mit dem Enum OutputSize:

Es gibt wohl in der Praxis nur die Unterscheidung mit/ohne Perforationslinien. Abhängig davon, ob auf perforiertes Papier gedruckt wird oder nicht. Aus meiner Sicht sollte der Enum OutputSize deshalb nur aus den Werten A4PortraitSheet, QrBillOnly und QrCodeOnly bestehen. Das Zeichnen der Perforationslinien wird über das Property SeparatorType gesteuert.

Sollte es in der Praxis auch den Fall geben, dass das Zeichnen der beiden Perforationslinien unterschieden werden muss, müsste es wohl anstelle der Eigenschaft SeperatorType die beiden Eigenschaften SeparatorTypeHorizontal und SeparatorTypeVertical geben.

manuelbl commented 4 years ago

Die Option QrBillWithHorizontalLine wurde eingeführt, damit in einer Reporting-/Output Management-Software eine QR-Rechnung mit Linien hinzugefügt werden kann, ohne die ganze A4-Seite zu überdecken. Zwar wäre der Seiteninhalt mit A4PortraitSheet immer noch sichtbar, da QR-Rechnung keinen weissen Hintergrund hat. Aber im Design-Modus der Software wird die Arbeit mit dem A4-Platzhalter für die QR-Rechnung sehr mühsam.

Die Option QrBillOnly genügt in diesem Fall nicht. Denn die Linie und die Schere liegen genau auf dem Rand der 105 mm x 210 mm Fläche, so dass die halbe Linie und vor allem die halbe Schere abgeschnitten wird. QrBillWithHorizontalLine bietet also zusätzliche 5mm, um alles sauber darzustellen.

Ich sehe aber, dass es zu Verwirrung führt. Der Name ist unglücklich. Ich werde ihn bei Gelegenheit anpassen und auch die Beschreibung verbessern.

mikekaufmann commented 4 years ago

Besten Dank für die Erläuterungen!

Vielleicht sehe ich zu wenig dahinter. Naiv hätte ich gesagt, dass bei OutputSize=QRBillOnly und bei einer zusätzlich gewünschten horizontalen Linie (definiert via Eigenschaft SeparatorType bzw. SeparatorTypeHorizontal) einfach die 5mm mehr eingerechnet werden müssen => 110mm x 210mm.

Ist SeparatorType=SeparatorType.None, so reichen die 105mm x 210mm.

manuelbl commented 3 years ago

Die Ausgabegrösse QrBillWithHorizontalLine ist nun zu QrBillExtraSpace umbenannt worden (mit Rückwärtskompatibilität) und die Beschreibung ist verbessert.

Siehe Version 2.5.0.