Ajouter des graphiques vectoriels aux fichiers PDF est une exigence courante pour générer des rapports, des factures et des documents interactifs. Conholdate.Total for Java est un SDK puissant qui simplifie la manipulation de PDF côté serveur. Dans ce guide, vous apprendrez comment insérer des rectangles, des ellipses et des lignes dans un PDF à l’aide d’un objet Graph, configurer leur apparence et gérer les considérations de performance, le tout avec des exemples de code Java clairs.
Étapes pour ajouter des formes à un PDF en Java
- Ajouter le référentiel Maven et la dépendance - Incluez le référentiel Maven Conholdate et la dépendance
conholdate-totaldans votrepom.xml. Cela rend les classes du SDK telles queDocument,PageetGraphdisponibles.<repositories> <repository> <id>conholdate-repo</id> <name>Conholdate Maven Repository</name> <url>https://repository.conholdate.com/repo/</url> </repository> </repositories>
Créer le document PDF et une page - Créer une instance de
Documentet ajouter une page à sa collection de pages. La classe est documentée dans la référence API.// Create Document instance Document doc = new Document(); // Add page to pages collection of PDF file com.aspose.pdf.Page page = doc.getPages().add();Créer des objets de forme - Créez d’abord un objet
Graph, puis instanciez des rectangles, des ellipses ou des lignes et ajoutez‑les à sa collection de formes. Définissez la position, la taille et les attributs visuels via leGraphInfode chaque forme.
// 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);
Ajouter des formes à une page - Les formes individuelles se trouvent dans la collection de formes de l’objet
Graph. Ajoutez leGraphlui‑même à la collection de paragraphes de la page afin que toutes les formes qu’il contient soient rendues sur cette page.// Add graph object to paragraphs collection of page instance page.getParagraphs().add(graph);Enregistrer le PDF mis à jour - Après que le graphique (avec toutes ses formes) a été ajouté à la page, enregistrez le document dans un nouveau fichier.
// Save PDF file
doc.save("Shapes.pdf");
Ajouter des formes à un PDF en Java - Exemple de code complet
L’exemple suivant regroupe toutes les étapes en un seul programme prêt à être exécuté.
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");
}
}
Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour le chemin du fichier de sortie (
Shapes.pdf) pour qu’il corresponde à votre emplacement cible réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.
Installation et configuration en Java
Pour commencer à utiliser Conholdate.Total for Java, téléchargez la dernière version depuis le site officiel et ajoutez la dépendance Maven indiquée précédemment. Le SDK fonctionne sur n’importe quel environnement d’exécution Java 8+ et ne nécessite pas de bibliothèques natives supplémentaires.
- URL de téléchargement : Conholdate.Total for Java Release
- Documentation : Des instructions d’utilisation détaillées sont disponibles dans la documentation officielle.
- Licence : Obtenez une licence temporaire depuis la page de licence temporaire ou consultez les tarifs complets sur la page de tarification.
Fonctionnalités clés et aperçu
Ajouter des formes à un PDF en Java avec Conholdate.Total
Conholdate.Total for Java fournit une API unifiée pour créer et modifier le contenu PDF. La fonctionnalité de dessin de formes fonctionne avec les graphiques vectoriels via l’objet Graph et sa collection de formes, garantissant que les éléments ajoutés restent nets à n’importe quel niveau de zoom. Vous pouvez dessiner des primitives de base (rectangle, ellipse, ligne) et combiner plusieurs d’entre elles dans un seul Graph avant de le placer sur une page.
Conholdate.Total Fonctionnalités qui comptent pour cette tâche
- Compatibilité multiplateforme : Fonctionne sur les serveurs Windows, Linux et macOS.
- Rendu haute performance : Les formes sont rendues à l’aide du même moteur qui génère le contenu PDF natif, évitant la rasterisation.
- Contrôle total de l’apparence : Définissez la couleur du trait et la largeur de ligne pour chaque forme via son objet
GraphInfo. - Graphiques groupés : Ajoutez plusieurs formes à un seul objet
Graphafin qu’elles puissent être positionnées et gérées ensemble sur la page.
Configuration des propriétés de forme pour un rendu optimal
Lors de l’ajout de formes, prenez en compte les propriétés suivantes pour obtenir le résultat visuel souhaité :
- Position et taille: Les constructeurs de forme prennent des coordonnées et des dimensions en points, par exemple
new Rectangle(100, 100, 170, 120)ounew Ellipse(300, 150, 150, 100). - Placement du graphique: L’objet
Graphlui‑même est positionné avecnew Graph(width, height)et ajouté à une page viapage.getParagraphs().add(graph). - Couleurs: Utilisez la classe
com.aspose.pdf.Color(par exempleColor.getGreen()ouColor.getRed()) et définissez‑la sur une forme viashape.getGraphInfo().setColor(...). - Épaisseur de ligne: Définissez‑la avec
shape.getGraphInfo().setLineWidth(...), mesurée en points ; une valeur de1équivaut à 1/72 pouce. - Lignes: Une forme
Lineest créée à partir d’un tableau de coordonnées, par exemplenew Line(new float[]{100, 300, 400, 300}), représentant les points de départ et d’arrivée de la ligne.
Exemple de définition de l’apparence de la forme :
ellipse.getGraphInfo().setColor(com.aspose.pdf.Color.getGreen());
ellipse.getGraphInfo().setLineWidth(1.5f);
Considérations de performance lors de l’ajout de formes aux PDF
L’ajout de nombreux objets vectoriels peut augmenter le temps de traitement et l’utilisation de la mémoire. Suivez ces directives :
- Dessin par lots : Regroupez les formes liées dans un seul objet
Graphavant d’ajouter ce graphique à la page. - Réutiliser les objets : Si vous avez besoin de formes identiques sur plusieurs pages, réutilisez la logique de configuration des formes au lieu de la dupliquer.
- Éviter le sur‑redimensionnement : Définissez les formes à la taille d’affichage finale pour éviter les conversions raster coûteuses.
- Libérer les ressources : Enregistrez et libérez le
Documentrapidement une fois que toutes les formes ont été ajoutées.
Conclusion
Conholdate.Total for Java offre aux développeurs Java un moyen simple d’ajouter des formes aux documents PDF, permettant la création de rapports et de factures riches et interactifs. En suivant les étapes, les conseils de configuration et les directives de performance présentés dans ce guide, vous pouvez intégrer des graphiques vectoriels dans votre flux de travail PDF en toute confiance. N’oubliez pas d’obtenir une licence appropriée pour la production ; une licence temporaire est disponible pour l’évaluation, et les détails complets des tarifs sont indiqués sur la page de tarification.
FAQs
Dois-je créer un objet Graph pour chaque forme ?
Non. Un seul objet Graph peut contenir plusieurs formes — les rectangles, les ellipses et les lignes peuvent tous être ajoutés à la même collection de formes du graphe avant que le graphe ne soit ajouté à la page.
Est-il possible d’ajouter des formes à une page spécifique d’un PDF multi‑pages ?
Oui. Récupérez la page cible à partir de doc.getPages() et appelez page.getParagraphs().add(graph) sur cette instance Page spécifique.
Quels formats de fichiers puis-je exporter après avoir ajouté des formes ?
La méthode Document.save() de Conholdate.Total for Java peut écrire en PDF ainsi que d’autres formats pris en charge par le SDK. Utilisez doc.save("Shapes.pdf") pour enregistrer le résultat en tant que fichier PDF standard.
