<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>java pdf shapes on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/fr/tag/java-pdf-shapes/</link>
    <description>Recent content in java pdf shapes on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fr</language>
    <lastBuildDate>Fri, 05 Jun 2026 18:38:01 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/fr/tag/java-pdf-shapes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ajouter des formes à un PDF en Java</title>
      <link>https://blog-qa.conholdate.com/fr/total/add-shapes-to-pdf-in-java/</link>
      <pubDate>Fri, 05 Jun 2026 18:38:01 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/fr/total/add-shapes-to-pdf-in-java/</guid>
      <description>Apprenez comment ajouter des formes à un PDF en Java en utilisant Conholdate.Total for Java. Suivez ce guide étape par étape avec le code, la configuration et les meilleures pratiques pour les graphiques vectoriels.</description>
      <content:encoded><![CDATA[<p>Ajouter des graphiques vectoriels aux fichiers <a href="https://docs.fileformat.com/pdf">PDF</a> est une exigence courante pour générer des rapports, des factures et des documents interactifs. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> 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, configurer leur apparence et gérer les considérations de performance, le tout avec des exemples de code Java clairs.</p>
<h2 id="étapes-pour-ajouter-des-formes-à-un-pdf-en-java">Étapes pour ajouter des formes à un PDF en Java</h2>
<ol>
<li><strong>Ajouter le référentiel Maven et la dépendance</strong> – Incluez le référentiel Maven Conholdate et la dépendance <code>conholdate-total</code> dans votre <code>pom.xml</code>. Cela rend les classes du SDK telles que <code>PdfDocument</code> et <code>ShapeFactory</code> disponibles.
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;repositories&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;repository&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;id&gt;</span>conholdate-repo<span style="color:#f92672">&lt;/id&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;name&gt;</span>Conholdate Maven Repository<span style="color:#f92672">&lt;/name&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;url&gt;</span>https://repository.conholdate.com/repo/<span style="color:#f92672">&lt;/url&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;/repository&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/repositories&gt;</span>
</span></span></code></pre></div></li>
</ol>
<!-- raw HTML omitted -->
<ol start="2">
<li>
<p><strong>Charger le document PDF</strong> - Créez une instance de <code>PdfDocument</code> et ouvrez le fichier PDF cible. La classe est documentée dans la <a href="https://reference.conholdate.com/java/">référence API</a>.</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>PdfDocument pdf <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> PdfDocument<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">open</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;input.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
<li>
<p><strong>Créer des objets Shape</strong> - Utilisez <code>ShapeFactory</code> pour créer des rectangles, des ellipses ou des lignes. Définissez la position, la taille et les attributs visuels.</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#75715e">// Rectangle
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>Shape rect <span style="color:#f92672">=</span> ShapeFactory<span style="color:#f92672">.</span><span style="color:#a6e22e">createRectangle</span><span style="color:#f92672">(</span>100<span style="color:#f92672">,</span> 150<span style="color:#f92672">,</span> 200<span style="color:#f92672">,</span> 100<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>rect<span style="color:#f92672">.</span><span style="color:#a6e22e">setFillColor</span><span style="color:#f92672">(</span>Color<span style="color:#f92672">.</span><span style="color:#a6e22e">BLUE</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>rect<span style="color:#f92672">.</span><span style="color:#a6e22e">setStrokeColor</span><span style="color:#f92672">(</span>Color<span style="color:#f92672">.</span><span style="color:#a6e22e">BLACK</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>rect<span style="color:#f92672">.</span><span style="color:#a6e22e">setLineWidth</span><span style="color:#f92672">(</span>2<span style="color:#f92672">);</span>
</span></span></code></pre></div></li>
</ol>
<p>// Ellipse
Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100);
ellipse.setFillColor(Color.GREEN);
ellipse.setStrokeColor(Color.DARK_GRAY);
ellipse.setLineWidth(1.5f);</p>
<pre tabindex="0"><code>// Line
   Shape line = ShapeFactory.createLine(100, 300, 500, 300);
   line.setStrokeColor(Color.RED);
   line.setLineWidth(3);
</code></pre><ol start="4">
<li><strong>Ajouter des formes à une page</strong> - Récupérez la page souhaitée du document et ajoutez chaque forme à sa collection graphique.</li>
</ol>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Page page <span style="color:#f92672">=</span> pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">getPages</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get_Item</span><span style="color:#f92672">(</span>0<span style="color:#f92672">);</span> <span style="color:#75715e">// first page
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>page<span style="color:#f92672">.</span><span style="color:#a6e22e">getGraphics</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addShape</span><span style="color:#f92672">(</span>rect<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>page<span style="color:#f92672">.</span><span style="color:#a6e22e">getGraphics</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addShape</span><span style="color:#f92672">(</span>ellipse<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>page<span style="color:#f92672">.</span><span style="color:#a6e22e">getGraphics</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addShape</span><span style="color:#f92672">(</span>line<span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="5">
<li><strong>Enregistrer le PDF mis à jour</strong> - Après que toutes les formes aient été ajoutées, enregistrez le document dans un nouveau fichier.
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;output.pdf&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>pdf<span style="color:#f92672">.</span><span style="color:#a6e22e">close</span><span style="color:#f92672">();</span>
</span></span></code></pre></div></li>
</ol>
<h2 id="ajouter-des-formes-à-un-pdf-en-java---exemple-de-code-complet">Ajouter des formes à un PDF en Java - Exemple de code complet</h2>
<p>L&rsquo;exemple suivant regroupe toutes les étapes en un seul programme prêt à être exécuté.</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.conholdate.total.pdf.*<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.conholdate.total.pdf.shapes.*<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.awt.Color<span style="color:#f92672">;</span>
</span></span></code></pre></div><p>public class AddShapesDemo {
public static void main(String[] args) throws Exception {
// Initialize PDF document
PdfDocument pdf = new PdfDocument();
pdf.open(&ldquo;input.pdf&rdquo;);</p>
<p>// Créer un rectangle
Shape rectangle = ShapeFactory.createRectangle(100, 150, 200, 100);
rectangle.setFillColor(Color.BLUE);
rectangle.setStrokeColor(Color.BLACK);
rectangle.setLineWidth(2);</p>
<p>// Créer une ellipse
Shape ellipse = ShapeFactory.createEllipse(350, 150, 150, 100);
ellipse.setFillColor(Color.GREEN);
ellipse.setStrokeColor(Color.DARK_GRAY);
ellipse.setLineWidth(1.5f);</p>
<pre tabindex="0"><code>// Créer une ligne
Shape line = ShapeFactory.createLine(100, 300, 500, 300);
line.setStrokeColor(Color.RED);
line.setLineWidth(3);
</code></pre><p>// Ajouter des formes à la première page
Page page = pdf.getPages().get_Item(0);
page.getGraphics().addShape(rectangle);
page.getGraphics().addShape(ellipse);
page.getGraphics().addShape(line);</p>
<p>// Save the result
pdf.save(&ldquo;output.pdf&rdquo;);
pdf.close();
}
}</p>
<pre tabindex="0"><code>&lt;!--[COMPLETE_CODE_SNIPPET_END]--&gt;

&gt; **Note :** Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour les chemins de fichiers (`input.pdf`, `output.pdf`) pour qu’ils correspondent à vos emplacements réels, 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](https://docs.conholdate.com/java/) ou contacter l’[équipe de support](https://forum.conholdate.com/c/total/5) 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 présentée précédemment. Le SDK fonctionne sur n&#39;importe quel environnement d&#39;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](https://releases.conholdate.com/total/java/)  
- **Documentation :** Des instructions d&#39;utilisation détaillées sont disponibles dans la [documentation officielle](https://docs.conholdate.com/java/).  
- **Licence :** Obtenez une licence temporaire depuis la [page de licence temporaire](https://purchase.conholdate.com/temporary-license/) ou consultez les tarifs complets sur la [page de tarification](https://purchase.conholdate.com/pricing/total/family/).

## Principales fonctionnalité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 des graphiques vectoriels, garantissant que les éléments ajoutés restent nets à n&#39;importe quel niveau de zoom. Vous pouvez dessiner des primitives de base (rectangle, ellipse, ligne) ainsi que des chemins complexes.

### Fonctionnalités de Conholdate.Total importantes pour cette tâche
- **Compatibilité multiplateforme :** Fonctionne sur les serveurs Windows, Linux et macOS.  
- **Rendu haute performance :** Les formes sont rendues à l&#39;aide du même moteur qui génère le contenu PDF natif, évitant la rasterisation.  
- **Contrôle complet de l&#39;apparence :** Définissez les couleurs de remplissage, les couleurs de trait, les épaisseurs de ligne, l&#39;opacité et les modes de [blend](https://docs.fileformat.com/3d/blend/) .  
- **Graphiques en couches :** Ajoutez des formes à des calques ou groupes spécifiques pour une manipulation ultérieure plus facile.

## Configuration des propriétés des formes pour un rendu optimal
Lors de l&#39;ajout de formes, prenez en compte les propriétés suivantes afin d&#39;obtenir le résultat visuel souhaité :

- **Position et taille :** Utilisez des coordonnées absolues (points) ou des pourcentages relatifs à la taille de la page.  
- **Couleurs :** Le SDK accepte les objets `java.awt.Color`. Pour la transparence, utilisez `new Color(r, g, b, alpha)`.  
- **Largeur de ligne :** Mesurée en points ; une valeur de `1` équivaut à 1/72 pouce.  
- **Opacité et mode de fusion :** Ajustez avec `setOpacity(float)` et `setBlendMode(BlendMode)`.  
- **Rotation et inclinaison :** Appliquez des transformations via `setRotation(double)` ou `setSkew(double, double)` pour des mises en page avancées.

Exemple de définition des propriétés avancées :

&lt;!--[CODE_SNIPPET_START]--&gt;
```java
ellipse.setOpacity(0.7f);
ellipse.setBlendMode(BlendMode.MULTIPLY);
ellipse.setRotation(45);
</code></pre><!-- raw HTML omitted -->
<h2 id="considérations-de-performance-lors-de-lajout-de-formes-aux-pdf">Considérations de performance lors de l&rsquo;ajout de formes aux PDF</h2>
<p>L&rsquo;ajout de nombreux objets vectoriels peut augmenter le temps de traitement et l&rsquo;utilisation de la mémoire. Suivez ces directives :</p>
<ul>
<li><strong>Dessin par lots</strong> : Regroupez les formes connexes dans un seul conteneur graphique avant de les ajouter à la page.</li>
<li><strong>Réutiliser les objets</strong> : Si vous avez besoin de formes identiques sur plusieurs pages, clonez une forme existante au lieu de créer de nouvelles instances.</li>
<li><strong>Éviter le sur‑redimensionnement</strong> : Définissez les formes à leur taille d&rsquo;affichage finale pour éviter des conversions raster coûteuses.</li>
<li><strong>Libérer les ressources</strong> : Fermez le <code>PdfDocument</code> rapidement pour libérer les ressources natives.</li>
</ul>
<h2 id="conclusion">Conclusion</h2>
<p><a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> offre aux développeurs Java un moyen simple d&rsquo;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&rsquo;oubliez pas d&rsquo;obtenir une licence appropriée pour une utilisation en production ; une licence temporaire est disponible pour l&rsquo;évaluation, et les détails complets des tarifs sont indiqués sur la <a href="https://purchase.conholdate.com/pricing/total/family/">page de tarification</a>.</p>
<h2 id="faq">FAQ</h2>
<p><strong>Comment ajouter une police personnalisée aux formes dans un PDF ?</strong><br>
Vous pouvez incorporer une police TrueType en utilisant <code>pdf.getFonts().addFont(&quot;MyFont.ttf&quot;)</code> puis l&rsquo;assigner à une forme via <code>setFont(myFont)</code>. Le SDK garantit que la police est incorporée dans le PDF final.</p>
<p><strong>Est-il possible d&rsquo;insérer des formes dans un PDF existant sans perdre le contenu existant ?</strong><br>
Oui. L&rsquo;ouverture du PDF avec <code>PdfDocument.open()</code> préserve toutes les pages et objets existants. L&rsquo;ajout de formes à la collection graphique d’une page ne fait qu’augmenter la page ; il ne remplace pas le contenu existant.</p>
<p><strong>Quels formats de fichier puis-je exporter après avoir ajouté des formes ?</strong><br>
Conholdate.Total for Java prend en charge l&rsquo;enregistrement au format PDF, PDF/A, PDF/X, ainsi que les formats d&rsquo;image tels que <a href="https://docs.fileformat.com/image/png/">PNG</a>, <a href="https://docs.fileformat.com/image/jpeg/">JPEG</a>, et BMP. Utilisez <code>pdf.save(&quot;output.pdf&quot;)</code> ou <code>pdf.save(&quot;output.png&quot;, ImageSaveOptions.Png)</code> selon vos besoins.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
