Vectorafbeeldingen toevoegen aan PDF bestanden is een veelvoorkomende eis voor het genereren van rapporten, facturen en interactieve documenten. Conholdate.Total for Java is een krachtige SDK die PDF‑manipulatie aan de serverkant vereenvoudigt. In deze gids leer je hoe je rechthoeken, ellipsen en lijnen in een PDF kunt invoegen met behulp van een Graph‑object, hun uiterlijk kunt configureren en prestatieoverwegingen kunt behandelen, allemaal met duidelijke Java‑codevoorbeelden.

Steps to Add Shapes to PDF in Java

  1. Maven-repository en afhankelijkheid toevoegen - Voeg de Conholdate Maven-repository en de conholdate-total afhankelijkheid toe aan uw pom.xml. Hierdoor zijn de SDK-klassen zoals Document, Page en Graph beschikbaar.
    <repositories>
        <repository>
            <id>conholdate-repo</id>
            <name>Conholdate Maven Repository</name>
            <url>https://repository.conholdate.com/repo/</url>
        </repository>
    </repositories>
    
  1. Maak het PDF-document en een pagina - Maak een instantie van Document en voeg een pagina toe aan de paginacollectie. De klasse is gedocumenteerd in de API-referentie.
// Create Document instance
Document doc = new Document();
// Add page to pages collection of PDF file
com.aspose.pdf.Page page = doc.getPages().add();
  1. Create Shape Objects - Maak eerst een Graph-object aan, instantiate vervolgens rechthoeken, ellipsen of lijnen en voeg ze toe aan de shapes-collectie. Stel positie, grootte en visuele attributen in via de GraphInfo van elk shape.
// 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);
  1. Vormen toevoegen aan een pagina - De afzonderlijke vormen bevinden zich in de shapes-collectie van het Graph-object. Voeg het Graph zelf toe aan de alinea-collectie van de pagina zodat alle vormen die het bevat op die pagina worden weergegeven.

    // Add graph object to paragraphs collection of page instance
    page.getParagraphs().add(graph);
    
  2. Opslaan van de bijgewerkte PDF - Nadat de grafiek (met al zijn vormen) aan de pagina is toegevoegd, sla het document op in een nieuw bestand.

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

Shapes toevoegen aan PDF in Java - Volledig codevoorbeeld

Het volgende voorbeeld combineert alle stappen in één enkel, kant‑klaar programma.

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");
    }
}

Opmerking: Dit codevoorbeeld toont de kernfunctionaliteit. Voordat u het in uw project gebruikt, moet u het uitvoerbestandspad (Shapes.pdf) aanpassen zodat het overeenkomt met uw werkelijke doellocatie, controleren of alle vereiste afhankelijkheden correct zijn geïnstalleerd, en grondig testen in uw ontwikkelomgeving. Als u problemen ondervindt, raadpleeg dan de officiële documentatie of neem contact op met het ondersteuningsteam voor hulp.

Installatie en configuratie in Java

Om Conholdate.Total for Java te gaan gebruiken, download de nieuwste release van de officiële site en voeg de eerder getoonde Maven‑dependency toe. De SDK werkt op elke Java 8+ runtime en vereist geen extra native bibliotheken.

Belangrijkste kenmerken en overzicht

Vormen toevoegen aan PDF in Java met Conholdate.Total

Conholdate.Total for Java biedt een uniforme API voor het maken en bewerken van PDF-inhoud. De vorm‑tekenfunctionaliteit werkt met vectorafbeeldingen via het Graph‑object en de verzameling vormen, waardoor toegevoegde elementen scherp blijven op elk zoomniveau. Je kunt basisprimitieven (rechthoek, ellips, lijn) tekenen en verschillende ervan combineren in één Graph voordat je deze op een pagina plaatst.

Conholdate.Total-functies die van belang zijn voor deze taak

  • Cross‑platform compatibiliteit: Werkt op Windows-, Linux- en macOS-servers.
  • High‑performance rendering: Vormen worden gerenderd met dezelfde engine die native PDF-inhoud genereert, waardoor rasterisatie wordt vermeden.
  • Volledige controle over het uiterlijk: Stel de lijnkleur en lijndikte in voor elke vorm via het GraphInfo-object.
  • Gegroepeerde graphics: Voeg meerdere vormen toe aan één Graph-object zodat ze samen op de pagina kunnen worden gepositioneerd en beheerd.

Configureren van vormeigenschappen voor optimale weergave

Bij het toevoegen van vormen, houd rekening met de volgende eigenschappen om het gewenste visuele resultaat te bereiken:

  • Positie en grootte: Shape-constructors nemen coördinaten en afmetingen in punten, bijv. new Rectangle(100, 100, 170, 120) of new Ellipse(300, 150, 150, 100).
  • Grafiekplaatsing: Het Graph-object zelf wordt gepositioneerd met new Graph(width, height) en toegevoegd aan een pagina via page.getParagraphs().add(graph).
  • Kleuren: Gebruik de com.aspose.pdf.Color-klasse (bijvoorbeeld Color.getGreen() of Color.getRed()) en stel deze in op een shape via shape.getGraphInfo().setColor(...).
  • Lijndikte: Stel in met shape.getGraphInfo().setLineWidth(...), gemeten in punten; een waarde van 1 is gelijk aan 1/72 inch.
  • Lijnen: Een Line-shape wordt gemaakt uit een array van coördinaten, bijv. new Line(new float[]{100, 300, 400, 300}), die de begin- en eindpunten van de lijn vertegenwoordigt.

Voorbeeld van het instellen van de vormweergave:

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

Prestaties Overwegingen bij het Toevoegen van Vormen aan PDF’s

Het toevoegen van veel vectorobjecten kan de verwerkingstijd en het geheugenverbruik verhogen. Volg deze richtlijnen:

  • Batch Drawing: Groep gerelateerde vormen in één Graph‑object voordat u dat diagram aan de pagina toevoegt.
  • Reuse Objects: Als u identieke vormen op meerdere pagina’s nodig heeft, hergebruik dan de configuratielogica voor vormen in plaats van deze te dupliceren.
  • Avoid Over‑Scaling: Definieer vormen op de uiteindelijke weergavegrootte om dure rasterconversies te voorkomen.
  • Dispose Resources: Sla het Document direct op en geef het vrij zodra alle vormen zijn toegevoegd.

Conclusie

Conholdate.Total for Java biedt Java‑ontwikkelaars een eenvoudige manier om vormen toe te voegen aan PDF‑documenten, waardoor het mogelijk wordt om rijke, interactieve rapporten en facturen te maken. Door de stappen, configuratietips en prestatie‑richtlijnen in deze gids te volgen, kun je vector‑graphics met vertrouwen integreren in je PDF‑workflow. Zorg ervoor dat je een juiste licentie voor productiegebruik verkrijgt; er is een tijdelijke licentie beschikbaar voor evaluatie, en volledige prijsinformatie staat op de prijspagina.

Veelgestelde vragen

Moet ik voor elke vorm een Graph-object maken?
Nee. Een enkel Graph-object kan meerdere vormen bevatten — rechthoeken, ellipsen en lijnen kunnen allemaal worden toegevoegd aan de vormenverzameling van dezelfde grafiek voordat de grafiek aan de pagina wordt toegevoegd.

Is het mogelijk om vormen toe te voegen aan een specifieke pagina van een meer‑pagina PDF?
Ja. Haal de doelpagina op uit doc.getPages() en roep page.getParagraphs().add(graph) aan op die specifieke Page‑instantie.

Naar welke bestandsformaten kan ik exporteren nadat ik vormen heb toegevoegd?
De Document.save()-methode van Conholdate.Total for Java kan naar PDF schrijven, evenals andere formaten die door de SDK worden ondersteund. Gebruik doc.save("Shapes.pdf") om het resultaat op te slaan als een standaard PDF‑bestand.