PDF ist ein plattformübergreifendes Dokumentformat, das ein einheitliches Layout für verschiedene Betriebssysteme bietet. Es wird häufig zum Generieren und Freigeben von Dokumenten wie Forschungsartikeln, Rechnungen usw. verwendet. Beim programmgesteuerten Generieren von PDF-Dateien müssen Sie häufig die Position und Ausrichtung des Textes entsprechend dem Layout des Dokuments ändern. In diesem Artikel zeigen wir Ihnen, wie Sie Text in PDF-Dokumenten in Java drehen.
Java-API zum Drehen von Text in PDF
Um Text in PDF-Dateien zu drehen, verwenden wir Aspose.PDF for Java. Es ist eine leistungsstarke Bibliothek, die sowohl grundlegende als auch erweiterte PDF-Manipulationsfunktionen bietet. Sie können die API herunterladen oder sie mit den folgenden Maven-Konfigurationen installieren.
Repository:
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Abhängigkeit:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Drehen Sie Text in PDF in Java
Es gibt mehrere Möglichkeiten, einen Text in einem PDF-Dokument zu drehen. Sie können entweder ein Textfragment oder den kompletten Absatz drehen. Mal sehen, wie jede dieser Textrotationen funktioniert.
PDF-Textrotation mit TextFragment in Java
Im Folgenden sind die Schritte zum Drehen eines Textfragments in einem PDF-Dokument mit Java aufgeführt.
- Erstellen Sie zunächst ein neues Dokument mit der Klasse Document.
- Fügen Sie dann dem Dokument eine Seite hinzu und rufen Sie ihre Referenz mit der Methode Document.getPages().add() ab.
- Erstellen Sie danach ein neues Textfragment mit der Klasse TextFragment.
- Legen Sie die Position und Schriftart des Textfragments fest.
- Legen Sie den Rotationswinkel mit der Methode TextFragment.getTextState().setRotation() fest.
- Erstellen Sie ein neues TextBuilder-Objekt und initialisieren Sie es mit dem Page-Objekt.
- Verwenden Sie die Methode TextBuilder.appendText(TextFragment), um der Seite Text hinzuzufügen.
- Speichern Sie abschließend das PDF-Dokument mit der Methode Document.save(string).
Das folgende Codebeispiel zeigt, wie Text in einem PDF-Dokument in Java gedreht wird.
// Dokumentenobjekt initialisieren
Document pdfDocument = new Document();
// Holen Sie sich eine bestimmte Seite
Page pdfPage = pdfDocument.getPages().add();
// Textfragment erstellen
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));
// Texteigenschaften festlegen
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Gedrehtes Textfragment erstellen
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// Texteigenschaften festlegen
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);
// Gedrehtes Textfragment erstellen
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));
// Texteigenschaften festlegen
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);
// TextBuilder-Objekt erstellen
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Hängen Sie das Textfragment an die PDF-Seite an
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);
// Dokument speichern
pdfDocument.save("Rotate_Text_TextFragment.pdf");
Ausgabe
PDF-Textrotation mit TextParagraph in Java
Sie können den Text auch drehen, während Sie einen neuen Absatz erstellen. Dies kann mit der Klasse TextParagraph erreicht werden. Im Folgenden sind die Schritte zum Anwenden der Textrotation mithilfe der TextParagraph-Klasse aufgeführt.
- Erstellen Sie zunächst ein neues Dokument mit der Klasse Document.
- Fügen Sie dann dem Dokument eine Seite hinzu und rufen Sie ihre Referenz mit der Methode Document.getPages().add() ab.
- Erstellen Sie danach ein neues TextParagraph-Objekt.
- Erstellen Sie ein neues Textfragment mit der Klasse TextFragment und legen Sie den Text und die Schriftart fest.
- Legen Sie den Rotationswinkel mit der Methode TextFragment.getTextState().setRotation() fest.
- Fügen Sie mithilfe der Methode TextParagraph.appendLine(TextFragment) Text zum Absatz hinzu.
- Erstellen Sie ein neues TextBuilder-Objekt und initialisieren Sie es mit dem Page-Objekt.
- Verwenden Sie die Methode TextBuilder.appendParagraph(TextParagraph), um der Seite einen Absatz hinzuzufügen.
- Speichern Sie abschließend das PDF-Dokument mit der Methode Document.save(string).
Das folgende Codebeispiel zeigt, wie Text innerhalb eines Absatzes in PDF programmgesteuert gedreht wird.
// Dokumentenobjekt initialisieren
Document pdfDocument = new Document();
// Holen Sie sich eine bestimmte Seite
Page pdfPage = (Page) pdfDocument.getPages().add();
// Textabsatz erstellen
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));
// Textfragment erstellen
TextFragment textFragment1 = new TextFragment("rotated text");
// Texteigenschaften festlegen
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Drehung einstellen
textFragment1.getTextState().setRotation(45);
// Textfragment erstellen
TextFragment textFragment2 = new TextFragment("main text");
// Texteigenschaften festlegen
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Textfragment erstellen
TextFragment textFragment3 = new TextFragment("another rotated text");
// Texteigenschaften festlegen
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Drehung einstellen
textFragment3.getTextState().setRotation(-45);
// Fügen Sie die Textfragmente an den Absatz an
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);
// TextBuilder-Objekt erstellen
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Fügen Sie den Textabsatz an die PDF-Seite an
textBuilder.appendParagraph(paragraph);
// Dokument speichern
pdfDocument.save("Rotate_Text_TextParagraph.pdf");
Ausgabe
Holen Sie sich eine kostenlose API-Lizenz
Sie können Aspose.PDF für Java kostenlos testen, indem Sie eine temporäre Lizenz erwerben.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie Text in PDF programmgesteuert mit Java drehen. Wir haben behandelt, wie Text mithilfe der Klassen TextFragment und TextParagraph gedreht wird. Darüber hinaus können Sie in der Dokumentation mehr über Aspose.PDF für Java erfahren. Falls Sie Fragen oder Anregungen haben, können Sie uns über unser Forum kontaktieren.