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
- Maven-repository en afhankelijkheid toevoegen - Voeg de Conholdate Maven-repository en de
conholdate-totalafhankelijkheid toe aan uwpom.xml. Hierdoor zijn de SDK-klassen zoalsDocument,PageenGraphbeschikbaar.<repositories> <repository> <id>conholdate-repo</id> <name>Conholdate Maven Repository</name> <url>https://repository.conholdate.com/repo/</url> </repository> </repositories>
- Maak het PDF-document en een pagina - Maak een instantie van
Documenten 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();
- 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 deGraphInfovan 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);
Vormen toevoegen aan een pagina - De afzonderlijke vormen bevinden zich in de shapes-collectie van het
Graph-object. Voeg hetGraphzelf 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);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.
- Download URL: Conholdate.Total for Java Release
- Documentation: Gedetailleerde gebruiksinstructies zijn beschikbaar in de officiële documentatie.
- Licentie: Verkrijg een tijdelijke licentie via de pagina voor tijdelijke licentie of bekijk de volledige prijzen op de prijspagina.
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)ofnew Ellipse(300, 150, 150, 100). - Grafiekplaatsing: Het
Graph-object zelf wordt gepositioneerd metnew Graph(width, height)en toegevoegd aan een pagina viapage.getParagraphs().add(graph). - Kleuren: Gebruik de
com.aspose.pdf.Color-klasse (bijvoorbeeldColor.getGreen()ofColor.getRed()) en stel deze in op een shape viashape.getGraphInfo().setColor(...). - Lijndikte: Stel in met
shape.getGraphInfo().setLineWidth(...), gemeten in punten; een waarde van1is 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
Documentdirect 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.
