Das Hinzufügen benutzerdefinierter Notizen oder Wasserzeichen erfordert häufig das Einfügen von Text in PDF in Java‑Anwendungen. Conholdate.Total for Java ist ein leistungsstarkes SDK, das Entwicklern ermöglicht, PDF‑Dateien programmgesteuert zu bearbeiten. Dieser Leitfaden führt Sie durch die Voraussetzungen, eine detaillierte Code‑Durchsicht und ein vollständiges Beispiel, sodass Sie benutzerdefinierten Text mühelos auf vorhandene PDFs legen können.

Voraussetzungen und Einrichtung

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Java 8 oder höher installiert.
  • Maven für die Abhängigkeitsverwaltung.
  • Eine IDE wie IntelliJ IDEA oder Eclipse.
  • Eine gültige Conholdate.Total for Java Lizenz für den Produktionseinsatz (siehe den Lizenzierungsabschnitt später).

Fügen Sie das Conholdate Maven‑Repository und die SDK‑Abhängigkeit zu Ihrer pom.xml hinzu:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Laden Sie die neuesten SDK‑Binärdateien von der Download‑Seite herunter. Nachdem der Maven‑Build erfolgreich abgeschlossen ist, können Sie mit dem Codieren beginnen. Der nächste Abschnitt zeigt genau, wie man ein PDF lädt und Text einfügt.

Text zu PDF in Java hinzufügen: Schritt‑für‑Schritt‑Anleitung

Unten finden Sie eine kurze Durchsicht jedes logischen Schrittes. Der vollständige Quellcode wird später im Abschnitt Vollständiges Codebeispiel wiedergegeben.

Schritt 1: Öffnen Sie das PDF und erstellen Sie einen TextBuilder

Zuerst öffnen Sie die Quell‑PDF mit der Document‑Klasse, dann erstellen Sie einen TextBuilder, der auf die Seite zeigt, zu der Sie Text hinzufügen möchten.

String dataDir = "path/to/your/document/directory/";

// Open document
Document doc = new Document(dataDir + "Conholdate.pdf");
TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));

Die Klassen Document und TextBuilder sind in der API-Referenz dokumentiert.

Schritt 2: Erstellen und Konfigurieren eines TextParagraph

Erstellen Sie ein TextParagraph und konfigurieren Sie dessen Layout: den Einzug, der auf nachfolgende Zeilen angewendet wird, das Rechteck, das den Textbereich auf der Seite begrenzt, und den Wortumbruchmodus.

// Create text paragraph
TextParagraph paragraph = new TextParagraph();
// Set subsequent lines indent
paragraph.setSubsequentLinesIndent(20);
// Specify the location to add TextParagraph
paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
// Specify word wrapping mode
paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);

Schritt 3: Erstellen Sie ein TextFragment und konfigurieren Sie die Schriftart

Erstellen Sie ein TextFragment, das den Text enthält, den Sie überlagern möchten, und setzen Sie dann seine Schriftart und Schriftgröße über getTextState().

// Create text fragment
TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
fragment1.getTextState().setFontSize(12);

Schritt 4: Fragment und Absatz anhängen

Fügen Sie das Textfragment als Zeile in den Absatz ein und hängen Sie den Absatz anschließend über den TextBuilder an die Seite an.

// Add fragment to paragraph
paragraph.appendLine(fragment1);
// Add paragraph
builder.appendParagraph(paragraph);

Schritt 5: Das modifizierte PDF speichern

Erstellen Sie schließlich den Ausgabepfad und speichern Sie das resultierende Dokument.

dataDir = dataDir + "AddText_out.pdf";

// Save resulting PDF document.
doc.save(dataDir);

Mit diesen Schritten haben Sie den PDF‑Text‑Einfügungs‑Workflow abgeschlossen.

Vollständiges Codebeispiel: Text in PDF in Java einfügen

Das folgende Beispiel demonstriert den gesamten Prozess vom Laden der Quelldatei bis zum Speichern der aktualisierten PDF.

Dieses Beispiel zeigt, wie man Text zu einem bestehenden PDF mit Conholdate.Total for Java hinzufügt.

import com.aspose.pdf.Document;
import com.aspose.pdf.TextBuilder;
import com.aspose.pdf.TextParagraph;
import com.aspose.pdf.Rectangle;
import com.aspose.pdf.TextFormattingOptions;
import com.aspose.pdf.TextFragment;
import com.aspose.pdf.FontRepository;

public class AddTextToPdf {
    public static void main(String[] args) {
        String dataDir = "path/to/your/document/directory/";

// Open document
        Document doc = new Document(dataDir + "Conholdate.pdf");
        TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));

// Create text paragraph
        TextParagraph paragraph = new TextParagraph();
        // Set subsequent lines indent
        paragraph.setSubsequentLinesIndent(20);
        // Specify the location to add TextParagraph
        paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
        // Specify word wrapping mode
        paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);

// Create text fragment
        TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
        fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
        fragment1.getTextState().setFontSize(12);

// Add fragment to paragraph
        paragraph.appendLine(fragment1);
        // Add paragraph
        builder.appendParagraph(paragraph);

dataDir = dataDir + "AddText_out.pdf";

// Save resulting PDF document.
        doc.save(dataDir);
    }
}

Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie dataDir aktualisieren, damit es auf Ihr tatsächliches Dokumentenverzeichnis (mit Conholdate.pdf) zeigt, überprüfen Sie, dass alle erforderlichen Abhängigkeiten korrekt installiert sind, und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.

Fazit

In diesem Tutorial haben wir gezeigt, wie man Text zu PDF in Java hinzufügt, indem man die robusten Funktionen von Conholdate.Total for Java nutzt. Durch das Befolgen der Schritt‑für‑Schritt‑Anleitung können Sie zuverlässig Textabsätze mit TextBuilder und TextParagraph erstellen, die Schriftstilierung über TextFragment steuern und das modifizierte Dokument speichern. Das SDK verarbeitet PDF‑Seitenkoordinaten und Textdarstellung intern, sodass Sie sich auf die Geschäftslogik konzentrieren können. Denken Sie daran, eine gültige Lizenz für den Produktionseinsatz zu erwerben; Sie können eine temporäre Lizenz von der temporäre Lizenzseite erhalten oder Preisoptionen auf der Preisübersichtsseite erkunden. Mit diesen Werkzeugen wird das Hinzufügen von benutzerdefiniertem Text zu PDFs zu einem unkomplizierten Teil Ihrer Java‑Anwendung.

FAQs

  • Wie füge ich Text zu einer PDF in Java hinzu, ohne vorhandenen Inhalt zu überschreiben?
    Verwenden Sie builder.appendParagraph(paragraph) wie im Beispiel gezeigt; TextBuilder fügt den neuen Absatz zur Zielseite hinzu und bewahrt dabei den vorhandenen Inhalt.

  • Ist es möglich, einen benutzerdefinierten Wasserzeichen-Text zu einem PDF in Java hinzuzufügen?
    Ja. Der gleiche Ansatz funktioniert für Wasserzeichen — erstellen Sie ein TextFragment mit dem gewünschten Wasserzeichen-Text, konfigurieren Sie eine geeignete Schriftart und Größe (oder Transparenz über den Textzustand) und fügen Sie es über ein TextParagraph auf jeder Seite hinzu.

  • Was soll ich tun, wenn der eingefügte Text für bestimmte Sprachen nicht korrekt angezeigt wird?
    Wählen Sie eine Schriftart, die den erforderlichen Zeichensatz unterstützt, mit FontRepository.findFont(). Das SDK respektiert die über getTextState() angewendeten Schriftarteinstellungen, und die Dokumentation bietet Anleitungen zum Umgang mit verschiedenen Schriftsystemen.

  • Kann ich mehrere PDFs stapelweise verarbeiten, um denselben Text hinzuzufügen?
    Absolut. Wickeln Sie den Code in eine Schleife, die über eine Liste von Dateipfaden iteriert, und verwenden Sie dieselbe Document/TextBuilder-Logik für jede Datei erneut.

Mehr lesen