Ich versuche, Text in ein PDF zu drucken, und ich habe alles eingerichtet und funktioniert so weit. Ich habe eine Linie, die 6-Zoll breit ist, das ist (6 * 72) 432 Gerät Pixel. Was ich versuche zu tun ist, Text auf diese Linie, Mitte-Aliened zu drucken und beide Seiten zu füllen, um die volle Breite der Linie zu besetzen. Beispiel ------ Hallo, das ist mein Text ------. Hier ist ein Ausschnitt meines Codes, in dem ich versuche, den von meinem Text belegten Platz abzuschätzen, damit ich berechnen kann, wie viele Zeichen vor und nach eingefügt werden sollen.Itext7 Text zentrieren und beide Seiten füllen
PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA);
canvas.setFontAndSize(font, 12);
System.out.println(font.getContentWidth(new PdfString("Hello there, this is my Text")));
Dieser Code erzeugt eine Zahl von mehr als zweitausend, die weit mehr als 432. Nicht sicher, was die zurückgegebenen Einheiten. Wie schätze ich die Länge meiner Saite und center-Aline es innerhalb 432dp ? Der zusätzliche Speicherplatz muss mit einem Sonderzeichen gefüllt werden. Es ist sehr ähnlich wie ein Scheck gedruckt wird, wo die Menge in Worten angegeben und auf beiden Seiten gefüllt wird, wenn Platz vorhanden ist.
Ich schaute auf this post und this other post, aber ich komme nirgends mit diesem. Bitte beraten.
Warum würden Sie tun Mathe selbst wenn iText kann es für Sie tun? –