Ajouter des notes personnalisées ou des filigranes nécessite souvent d’ajouter du texte à un PDF dans les applications Java. Conholdate.Total for Java est un SDK puissant qui permet aux développeurs de modifier les fichiers PDF de manière programmatique. Ce guide vous accompagne à travers les prérequis, une analyse détaillée du code et un exemple complet afin que vous puissiez superposer du texte personnalisé sur des PDF existants en toute simplicité.
Prérequis et configuration
Avant de commencer, assurez‑vous d’avoir les éléments suivants :
- Java 8 ou version supérieure installé.
- Maven pour la gestion des dépendances.
- Un IDE tel qu’IntelliJ IDEA ou Eclipse.
- Une licence valide Conholdate.Total for Java pour une utilisation en production (voir la section sur la licence plus tard).
Ajoutez le référentiel Maven Conholdate et la dépendance SDK à votre pom.xml :
<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>
Téléchargez les dernières binaires du SDK depuis la page de téléchargement. Après la réussite de la construction Maven, vous êtes prêt à commencer à coder. La section suivante montre exactement comment charger un PDF et insérer du texte.
Ajouter du texte à un PDF en Java : guide étape par étape
Ci-dessous se trouve un aperçu concis de chaque étape logique. Le code source complet est reproduit plus tard dans la section Exemple de code complet.
Étape 1 : Ouvrez le PDF et créez un TextBuilder
Tout d’abord, ouvrez le PDF source avec la classe Document, puis créez un TextBuilder pointant vers la page sur laquelle vous souhaitez ajouter du texte.
String dataDir = "path/to/your/document/directory/";
// Open document
Document doc = new Document(dataDir + "Conholdate.pdf");
TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));
Les classes Document et TextBuilder sont documentées dans la référence API.
Étape 2 : Créer et configurer un TextParagraph
Construisez un TextParagraph et configurez sa mise en page : le retrait appliqué aux lignes suivantes, le rectangle délimitant la zone de texte sur la page et le mode de retour à la ligne.
// Create text paragraph
TextParagraph paragraph = new TextParagraph();
// Set subsequent lines indent
paragraph.setSubsequentLinesIndent(20);
// Specify the location to add TextParagraph
paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
// Specify word wrapping mode
paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);
Étape 3 : Créez un TextFragment et configurez la police
Créez un TextFragment contenant le texte que vous souhaitez superposer, puis définissez sa police et sa taille de police via getTextState().
// Create text fragment
TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
fragment1.getTextState().setFontSize(12);
Étape 4 : Ajouter le fragment et le paragraphe
Ajoutez le fragment de texte en tant que ligne dans le paragraphe, puis ajoutez le paragraphe à la page via le TextBuilder.
// Add fragment to paragraph
paragraph.appendLine(fragment1);
// Add paragraph
builder.appendParagraph(paragraph);
Étape 5 : Enregistrer le PDF modifié
Enfin, construisez le chemin de sortie et enregistrez le document résultant.
dataDir = dataDir + "AddText_out.pdf";
// Save resulting PDF document.
doc.save(dataDir);
Avec ces étapes, vous avez terminé le flux de travail d’insertion de texte PDF.
Exemple complet de code : Insérer du texte dans un PDF en Java
L’exemple suivant montre l’ensemble du processus, du chargement du fichier source à l’enregistrement du PDF mis à jour.
Cet exemple montre comment ajouter du texte à un PDF existant en utilisant Conholdate.Total for Java.
import com.aspose.pdf.Document;
import com.aspose.pdf.TextBuilder;
import com.aspose.pdf.TextParagraph;
import com.aspose.pdf.Rectangle;
import com.aspose.pdf.TextFormattingOptions;
import com.aspose.pdf.TextFragment;
import com.aspose.pdf.FontRepository;
public class AddTextToPdf {
public static void main(String[] args) {
String dataDir = "path/to/your/document/directory/";
// Open document
Document doc = new Document(dataDir + "Conholdate.pdf");
TextBuilder builder = new TextBuilder(doc.getPages().get_Item(1));
// Create text paragraph
TextParagraph paragraph = new TextParagraph();
// Set subsequent lines indent
paragraph.setSubsequentLinesIndent(20);
// Specify the location to add TextParagraph
paragraph.setRectangle(new Rectangle(100, 300, 200, 700));
// Specify word wrapping mode
paragraph.getFormattingOptions().setWrapMode(TextFormattingOptions.WordWrapMode.ByWords);
// Create text fragment
TextFragment fragment1 = new TextFragment("the quick brown fox jumps over the lazy dog");
fragment1.getTextState().setFont(FontRepository.findFont("Times New Roman"));
fragment1.getTextState().setFontSize(12);
// Add fragment to paragraph
paragraph.appendLine(fragment1);
// Add paragraph
builder.appendParagraph(paragraph);
dataDir = dataDir + "AddText_out.pdf";
// Save resulting PDF document.
doc.save(dataDir);
}
}
Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour
dataDirpour qu’il pointe vers votre répertoire de documents réel (contenantConholdate.pdf), 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 d’assistance pour obtenir de l’aide.
Conclusion
Dans ce tutoriel, nous avons montré comment ajouter du texte à un PDF en Java en utilisant les fonctionnalités robustes de Conholdate.Total for Java. En suivant le guide étape par étape, vous pouvez créer de manière fiable des paragraphes de texte avec TextBuilder et TextParagraph, contrôler le style des polices via TextFragment, et enregistrer le document modifié. Le SDK gère les coordonnées des pages PDF et le rendu du texte en interne, vous permettant de vous concentrer sur la logique métier. N’oubliez pas d’obtenir une licence appropriée pour une utilisation en production ; vous pouvez obtenir une licence temporaire depuis la temporary license page ou explorer les options de tarification sur la pricing page. Avec ces outils, enrichir les PDF avec du texte personnalisé devient une partie simple de votre application Java.
FAQs
Comment ajouter du texte à un PDF en Java sans écraser le contenu existant ?
Utilisezbuilder.appendParagraph(paragraph)comme indiqué dans l’exemple ;TextBuilderajoute le nouveau paragraphe à la page cible, en préservant tout le contenu existant.Est-il possible d’ajouter un texte de filigrane personnalisé à un PDF en Java ?
Oui. La même approche fonctionne pour les filigranes — créez unTextFragmentavec le texte de filigrane souhaité, configurez une police et une taille appropriées (ou la transparence via l’état du texte), et ajoutez‑le via unTextParagraphsur chaque page.Que dois-je faire si le texte inséré n’apparaît pas correctement pour certaines langues ?
Choisissez une police qui prend en charge l’ensemble de caractères requis avecFontRepository.findFont(). Le SDK respecte les paramètres de police appliqués viagetTextState(), et la documentation fournit des conseils sur la gestion des différents scripts.Puis-je traiter par lots plusieurs PDF pour ajouter le même texte ?
Absolument. Enveloppez le code dans une boucle qui itère sur une liste de chemins de fichiers, en réutilisant la même logiqueDocument/TextBuilderpour chaque fichier.
