iTextSharp-A4-Größe Rundung
Gemäß dem ISO-standard, A4 210x297 mm, oder etwa 595.2756x841.8898 Punkte. Gibt es einen Grund, warum in iTextSharp, die Punkt-Werte sind gerundet, dh. 595x842, auch wenn Sie schwimmt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin ein Mitglied des ISO-Komitees verantwortlich für den PDF-standard. Der standard definiert, dass alle Messungen, die im PDF sind, ausgedrückt durch die Benutzer-Einheiten (NICHT Punkte).
Einer user-Einheit standardmäßig entspricht in etwa mit einer typografischen Punkt, aber das ISO-Komitee ist sich der Tatsache bewusst, dass Sie sind nicht genau das gleiche.
Dies ist in der Tat eine Ursache für Verwirrung. Ich bin derzeit auf der Vorbereitung für die ISO-meetings in San Jose, der beginnt nächste Woche. Wir arbeiten auf ISO-32000-2 (PDF 2.0) und obwohl die ISO-32000-1 wurde bereits in guter Form, wir fanden aber immer noch einige Fälle, in denen es gesagt, Punkt, anstatt der user-Einheit, und wir werden ersetzen Punkt von user-Einheit in ISO-32000-2..
Bottom line: es ist allgemein akzeptiert, dass eine A4-Seite im PDF-Maßnahmen 595 842 Benutzer-Einheiten (wahrscheinlich, weil integer-Werte wurden bevorzugt über real-Werte) und das ist, warum es realisiert, dass die Art und Weise, in iText.
Sind Sie nicht abgerundet und erhalten zur Laufzeit. PageSize.A4.Die Rechte und PageSize.A4.Oben sind zwei Werte des Rechtecks (Breite, Höhe) definiert für den A4 Typ (das ist eine interne Klasse in iTextSharp). Aus der
PageSize.cs
:Wie Sie sehen, es ist nichts zu tun mit der Rundung.
EDIT:
Siehe Bruno Antwort für die genaue Erklärung des Problems. Unter Berufung auf sein Kommentar: