Das Hinzufügen von Vektorgrafiken zu PDF-Dateien ist eine gängige Anforderung für die Erstellung von Berichten, Rechnungen und interaktiven Dokumenten. Conholdate.Total for Java ist ein leistungsstarkes SDK, das die PDF‑Manipulation auf der Serverseite vereinfacht. In diesem Leitfaden lernen Sie, wie Sie Rechtecke, Ellipsen und Linien in ein PDF einfügen, indem Sie ein Graph‑Objekt verwenden, ihr Aussehen konfigurieren und Leistungsaspekte berücksichtigen, alles mit klaren Java‑Codebeispielen.

Schritte zum Hinzufügen von Formen zu PDF in Java

  1. Maven-Repository und Abhängigkeit hinzufügen - Fügen Sie das Conholdate Maven-Repository und die conholdate-total-Abhängigkeit in Ihre pom.xml ein. Dadurch werden die SDK-Klassen wie Document, Page und Graph verfügbar.

    <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>
    
  2. Erstellen Sie das PDF‑Dokument und eine Seite – Erstellen Sie eine Instanz von Document und fügen Sie eine Seite zu seiner Seiten‑Sammlung hinzu. Die Klasse ist in der API reference dokumentiert.

// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
  1. Shape-Objekte erstellen - Erstellen Sie zunächst ein Graph‑Objekt, dann instanziieren Sie Rechtecke, Ellipsen oder Linien und fügen Sie sie seiner Shapes‑Sammlung hinzu. Legen Sie Position, Größe und visuelle Attribute über das GraphInfo jedes Shapes fest.

    // Create Graph instance
    com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);
    
    // Rectangle
    com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
    graph.getShapes().add(rect);
    
    // Ellipse
    com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
    ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
    ellipse.getGraphInfo().setLineWidth(1.5f);
    graph.getShapes().add(ellipse);
    
    // Line
    com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
    line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
    line.getGraphInfo().setLineWidth(3);
    graph.getShapes().add(line);
    
  2. Formen zu einer Seite hinzufügen - Die einzelnen Formen befinden sich in der Shapes‑Sammlung des Graph‑Objekts. Fügen Sie das Graph‑Objekt selbst zur Absatzsammlung der Seite hinzu, damit alle darin enthaltenen Formen auf dieser Seite gerendert werden.

    // Add graph object to paragraphs collection of page instance
    page.getParagraphs().add(graph);
    
  3. Speichern Sie das aktualisierte PDF – Nachdem das Diagramm (mit allen seinen Formen) zur Seite hinzugefügt wurde, speichern Sie das Dokument in einer neuen Datei.

// Save PDF file
doc.save("Shapes.pdf");

Hinzufügen von Formen zu PDF in Java – Komplettes Codebeispiel

Das folgende Beispiel fasst alle Schritte in einem einzigen, sofort ausführbaren Programm zusammen.

import com.aspose.pdf.Document;
import com.aspose.pdf.Color;

public class AddShapesDemo {
    public static void main(String[] args) throws Exception {
        // Create Document instance
        Document doc = new Document();
        // Add page to pages collection of PDF file
        com.aspose.pdf.Page page = doc.getPages().add();

// Create Graph instance
        com.aspose.pdf.drawing.Graph graph = new com.aspose.pdf.drawing.Graph(100, 600);

// Create Rectangle instance
        com.aspose.pdf.drawing.Rectangle rect = new com.aspose.pdf.drawing.Rectangle(100, 100, 170, 120);
        // Add rectangle object to shapes collection of Graph object
        graph.getShapes().add(rect);

// Create ellipse
        com.aspose.pdf.drawing.Ellipse ellipse = new com.aspose.pdf.drawing.Ellipse(300, 150, 150, 100);
        ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
        ellipse.getGraphInfo().setLineWidth(1.5f);
        // Add ellipse object to shapes collection of Graph object
        graph.getShapes().add(ellipse);

// Create line
        com.aspose.pdf.drawing.Line line = new com.aspose.pdf.drawing.Line((new float[]{100, 300, 400, 300}));
        line.getGraphInfo().setColor(com.aspose.pdf.Color.getRed());
        line.getGraphInfo().setLineWidth(3);
        // Add line object to shapes collection of Graph object
        graph.getShapes().add(line);

// Add graph object to paragraphs collection of page instance
        page.getParagraphs().add(graph);

// Save PDF file
        doc.save("Shapes.pdf");
    }
}

Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie den Ausgabepfad (Shapes.pdf) an Ihren tatsächlichen Zielort anpassen, überprüfen Sie, ob alle erforderlichen Abhängigkeiten ordnungsgemäß 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.

Installation und Einrichtung in Java

Um Conholdate.Total for Java zu verwenden, laden Sie die neueste Version von der offiziellen Website herunter und fügen Sie die zuvor gezeigte Maven-Abhängigkeit hinzu. Das SDK funktioniert auf jeder Java 8+ Laufzeit und erfordert keine zusätzlichen nativen Bibliotheken.

Hauptfunktionen und Übersicht

Formen zu PDF in Java mit Conholdate.Total hinzufügen

Conholdate.Total for Java bietet eine einheitliche API zum Erstellen und Bearbeiten von PDF-Inhalten. Die Form‑Zeichnungsfunktion arbeitet mit Vektorgrafiken über das Graph‑Objekt und dessen Formen‑Sammlung und stellt sicher, dass hinzugefügte Elemente bei jeder Zoomstufe scharf bleiben. Sie können grundlegende Primitive (Rechteck, Ellipse, Linie) zeichnen und mehrere davon in einem einzelnen Graph kombinieren, bevor Sie ihn auf einer Seite platzieren.

Conholdate.Total Funktionen, die für diese Aufgabe wichtig sind

  • Plattformübergreifende Kompatibilität: Funktioniert auf Windows-, Linux- und macOS-Servern.
  • Hochleistungs-Rendering: Formen werden mit derselben Engine gerendert, die nativen PDF‑Inhalt erzeugt, wodurch eine Rasterisierung vermieden wird.
  • Vollständige Kontrolle über das Aussehen: Legen Sie die Strichfarbe und die Linienbreite für jede Form über ihr GraphInfo‑Objekt fest.
  • Gruppierte Grafiken: Fügen Sie mehrere Formen zu einem einzigen Graph‑Objekt hinzu, damit sie auf der Seite gemeinsam positioniert und verwaltet werden können.

Konfigurieren von Formeigenschaften für optimale Darstellung

Beim Hinzufügen von Formen sollten Sie die folgenden Eigenschaften berücksichtigen, um das gewünschte visuelle Ergebnis zu erzielen:

  • Position und Größe: Shape‑Konstruktoren übernehmen Koordinaten und Abmessungen in Punkten, z. B. new Rectangle(100, 100, 170, 120) oder new Ellipse(300, 150, 150, 100).
  • Grafikplatzierung: Das Graph‑Objekt selbst wird mit new Graph(width, height) positioniert und über page.getParagraphs().add(graph) einer Seite hinzugefügt.
  • Farben: Verwenden Sie die Klasse com.aspose.pdf.Color (zum Beispiel Color.getGreen() oder Color.getRed()) und setzen Sie sie bei einer Form über shape.getGraphInfo().setColor(...).
  • Linienstärke: Setzen Sie sie mit shape.getGraphInfo().setLineWidth(...), gemessen in Punkten; ein Wert von 1 entspricht 1/72 Zoll.
  • Linien: Eine Line‑Form wird aus einem Array von Koordinaten erstellt, z. B. new Line(new float[]{100, 300, 400, 300}), das die Start‑ und Endpunkte der Linie darstellt.

Beispiel für das Festlegen des Aussehens einer Form:

ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);

Leistungsüberlegungen beim Hinzufügen von Formen zu PDFs

Das Hinzufügen vieler Vektorobjekte kann die Verarbeitungszeit und den Speicherverbrauch erhöhen. Befolgen Sie diese Richtlinien:

  • Batch Drawing: Gruppieren Sie zusammengehörige Formen in ein einzelnes Graph‑Objekt, bevor Sie dieses Diagramm zur Seite hinzufügen.
  • Reuse Objects: Wenn Sie identische Formen auf mehreren Seiten benötigen, verwenden Sie die Logik zur Formkonfiguration erneut, anstatt sie zu duplizieren.
  • Avoid Over‑Scaling: Definieren Sie Formen in der endgültigen Anzeigengröße, um kostspielige Rasterkonvertierungen zu vermeiden.
  • Dispose Resources: Speichern und geben Sie das Document sofort frei, sobald alle Formen hinzugefügt wurden.

Fazit

Conholdate.Total for Java gibt Java‑Entwicklern eine unkomplizierte Möglichkeit, Formen zu PDF‑Dokumenten hinzuzufügen, wodurch die Erstellung von reichhaltigen, interaktiven Berichten und Rechnungen ermöglicht wird. Durch das Befolgen der Schritte, Konfigurationstipps und Leistungsrichtlinien in diesem Leitfaden können Sie Vektorgrafiken mit Zuversicht in Ihren PDF‑Workflow integrieren. Denken Sie daran, für den Produktionseinsatz eine geeignete Lizenz zu sichern; eine temporäre Lizenz steht für die Evaluierung zur Verfügung, und vollständige Preisinformationen finden Sie auf der Preisseite.

FAQ

Muss ich für jede Form ein Graph-Objekt erstellen?
Nein. Ein einzelnes Graph-Objekt kann mehrere Formen enthalten — Rechtecke, Ellipsen und Linien können alle zur selben Formen‑Sammlung des Graphen hinzugefügt werden, bevor der Graph zur Seite hinzugefügt wird.

Ist es möglich, Formen zu einer bestimmten Seite eines mehrseitigen PDFs hinzuzufügen?
Ja. Rufen Sie die Zielseite aus doc.getPages() ab und rufen Sie page.getParagraphs().add(graph) für diese bestimmte Page‑Instanz auf.

In welche Dateiformate kann ich nach dem Hinzufügen von Formen exportieren?
Conholdate.Total for Java’s Document.save()-Methode kann in PDF sowie in andere vom SDK unterstützte Formate schreiben. Verwenden Sie doc.save("Shapes.pdf"), um das Ergebnis als Standard‑PDF‑Datei zu speichern.