Wie Legen Sie einen Zeilenvorschub mit PDFBox Kordelzug
Habe ich, um eine PDF-Datei mit einer Tabelle. So weit es funktioniert gut, aber jetzt möchte ich hinzufügen, dass ein umwickeln-feature. Also ich einführen müssen, um einen Zeilenvorschub.
contentStream.beginText();
contentStream.moveTextPositionByAmount(x, y);
contentStream.drawString("Some text to insert into a table.");
contentStream.endText();
Möchte ich hinzufügen, dass ein "\n
", bevor Sie "einfügen". Ich habe versucht, " \u000A
" das ist der hex-Wert für linefeed, aber Eclipse zeigt mir eine Fehlermeldung.
Ist es möglich, add linefeed mit Kordelzug?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pdf-format, die nicht wissen Zeilenumbrüche. Sie haben nach split den string und verschieben Sie die position von text in die nächste Zeile, mit moveTextPositionByAmount.
Dies ist nicht eine spezielle "pdfbox-Funktion", es ist durch das pdf-format definition; es gibt also keine Möglichkeit, mit Kordelzug und es gibt auch keine anderen Methoden aufgerufen werden, die Unterstützung Zeilenvorschübe.
T*
- und'
-Betreiber? pdf-spec sagt zu T*: "Bewegen zum Anfang der nächsten Zeile". Und zu ': "Verschieben in die nächste Zeile und zeigt ein text-string". Aber ich konnte nicht einen Weg finden, um T* oder ' in der pdfBox. (Und ich bin nicht sicher, ob ich verstanden habe, ist die Skillung richtig ist oder nicht.)PDF-format ermöglicht die Zeilenumbrüche, aber PDFBox hat keine build-in Funktion für Zeilenumbrüche.
Verwenden Zeilenumbrüche, die in einem PDF-Sie müssen definieren den führenden, den Sie verwenden möchten mit den
TL
-Betreiber. DieT*
-Betreiber macht einen Zeilenumbruch. Die'
-operator schreibt den übergebenen text in die nächste Zeile. (Siehe PDF-Spezifikation für weitere details, Kapitel "Text". Das ist nicht viel.)Hier sind zwei code-snippets. Beide tun das gleiche, aber das erste snippet verwendet
'
und das zweite snippet verwendetT*
.Verwenden
T*
für Zeilenumbruch:Höhe der schriftart, die Sie verwenden können diesen Befehl:
Möchten Sie vielleicht, es zu multiplizieren whit einige line-pitch-Faktor.
drawString
+appendRawCommands
stattshowText
undnewLine
, wie in tutorialspoint.com/pdfbox/pdfbox_adding_multiple_lines.htm?Weil das PDF-Modell ist oft nicht das beste Modell für die Aufgabe zur hand, ist es oft sinnvoll, schreiben einen wrapper für ihn, fügt Unterstützung für das, was "fehlt" in Ihrem Fall. Dies gilt sowohl für das Lesen und schreiben.