iText - Présentation
Le format PDF (Portable Document Format) est un format de fichier qui permet de présenter les données de manière indépendante des logiciels d'application, du matériel et des systèmes d'exploitation. Chaque fichier PDF contient la description d'un document plat à mise en page fixe, y compris le texte, les polices, les graphiques et d'autres informations nécessaires pour l'afficher.
Il existe plusieurs bibliothèques disponibles pour créer et manipuler des documents PDF via des programmes, tels que -
Adobe PDF Library- Cette bibliothèque fournit des API dans des langages tels que C ++, .NET et Java. Grâce à cela, nous pouvons éditer, afficher, imprimer et extraire du texte à partir de documents PDF.
Formatting Objects Processor- Formateur d'impression open-source piloté par des objets de formatage XSL et un formateur indépendant de sortie. La principale cible de sortie est le PDF.
PDF Box- Apache PDFBox est une bibliothèque Java open source qui prend en charge le développement et la conversion de documents PDF. En utilisant cette bibliothèque, vous pouvez développer des programmes Java qui créent, convertissent et manipulent des documents PDF.
Jasper Reports - Il s'agit d'un outil de création de rapports Java qui génère des rapports dans un document PDF comprenant Microsoft Excel, RTF, ODT, des valeurs séparées par des virgules et des fichiers XML.
Qu'est-ce que iText?
Similaire à iText des logiciels énumérés ci-dessus est une bibliothèque Java PDF à l'aide de laquelle vous pouvez développer des programmes Java qui créent, convertissent et manipulent des documents PDF.
Caractéristiques d'iText
Voici les caractéristiques notables de la bibliothèque iText -
Interactive- iText vous fournit des classes (API) pour générer des documents PDF interactifs. En utilisant ces derniers, vous pouvez créer des cartes et des livres.
Adding bookmarks, page numbers, etc - En utilisant iText, vous pouvez ajouter des signets, des numéros de page et des filigranes.
Split & Merge - En utilisant iText, vous pouvez diviser un PDF existant en plusieurs PDF et également y ajouter / concaténer des pages supplémentaires.
Fill Forms - En utilisant iText, vous pouvez remplir des formulaires interactifs dans un document PDF.
Save as Image - En utilisant iText, vous pouvez enregistrer des fichiers PDF en tant que fichiers image, tels que PNG ou JPEG.
Canvas - La bibliothèque iText vous fournit une classe Canvas à l'aide de laquelle vous pouvez dessiner diverses formes géométriques sur un document PDF comme un cercle, une ligne, etc.
Create PDFs- En utilisant iText, vous pouvez créer un nouveau fichier PDF à partir de vos programmes Java. Vous pouvez également inclure des images et des polices.
Environnement IText
Suivez les étapes ci-dessous pour définir l'environnement iText sur Eclipse.
Step 1 - Installez Eclipse et ouvrez-y un nouveau projet comme indiqué ci-dessous.
Step 2 - Créer un iTextSample projet comme indiqué ci-dessous.
Step 3- Cliquez avec le bouton droit sur le projet et convertissez-le en projet Maven comme indiqué ci-dessous. Une fois que vous l'avez converti en projet Maven, il vous donnera unpom.xmloù vous devez mentionner les dépendances requises. Par la suite, lejar les fichiers de ces dépendances seront automatiquement téléchargés dans votre projet.
Step 4 - Maintenant, dans le pom.xml du projet, copiez et collez le contenu suivant (dépendances pour l'application iText) et actualisez le projet.
Using pom.xml
Convertissez le projet en projet Maven et ajoutez le contenu suivant à son pom.xml.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SanthoshExample</groupId>
<artifactId>SanthoshExample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- always needed -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>sign</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>barcodes</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>font-asian</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>hyph</artifactId>
<version>7.0.2</version>
</dependency>
</dependencies>
</project>
Enfin, si vous observez les dépendances Maven, vous pouvez observer que toutes les jar les fichiers ont été téléchargés.