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
Maven-Repository und Abhängigkeit hinzufügen - Fügen Sie das Conholdate Maven-Repository und die
conholdate-total-Abhängigkeit in Ihrepom.xmlein. Dadurch werden die SDK-Klassen wieDocument,PageundGraphverfü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>Erstellen Sie das PDF‑Dokument und eine Seite – Erstellen Sie eine Instanz von
Documentund 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();
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 dasGraphInfojedes 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);Formen zu einer Seite hinzufügen - Die einzelnen Formen befinden sich in der Shapes‑Sammlung des
Graph‑Objekts. Fügen Sie dasGraph‑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);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.
- Download URL: Conholdate.Total for Java Release
- Documentation: Detaillierte Anweisungen zur Verwendung finden Sie in der offiziellen Dokumentation.
- Lizenz: Holen Sie sich eine temporäre Lizenz von der temporären Lizenzseite oder sehen Sie sich die vollständigen Preise auf der Preisseite.
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)odernew Ellipse(300, 150, 150, 100). - Grafikplatzierung: Das
Graph‑Objekt selbst wird mitnew Graph(width, height)positioniert und überpage.getParagraphs().add(graph)einer Seite hinzugefügt. - Farben: Verwenden Sie die Klasse
com.aspose.pdf.Color(zum BeispielColor.getGreen()oderColor.getRed()) und setzen Sie sie bei einer Form übershape.getGraphInfo().setColor(...). - Linienstärke: Setzen Sie sie mit
shape.getGraphInfo().setLineWidth(...), gemessen in Punkten; ein Wert von1entspricht 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
Documentsofort 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.
