iText - Panoramica

Il Portable Document Format (PDF) è un formato di file che aiuta a presentare i dati in modo indipendente dal software applicativo, dall'hardware e dai sistemi operativi. Ogni file PDF contiene la descrizione di un documento piatto a layout fisso, inclusi testo, caratteri, grafica e altre informazioni necessarie per visualizzarlo.

Sono disponibili diverse librerie per creare e manipolare documenti PDF tramite programmi, come:

  • Adobe PDF Library- Questa libreria fornisce API in linguaggi come C ++, .NET e Java. Usando questo, possiamo modificare, visualizzare, stampare ed estrarre testo da documenti PDF.

  • Formatting Objects Processor- Formattatore di stampa open source guidato da XSL Formatting Objects e un formattatore indipendente dall'output. La destinazione di output principale è PDF.

  • PDF Box- Apache PDFBox è una libreria Java open source che supporta lo sviluppo e la conversione di documenti PDF. Utilizzando questa libreria, è possibile sviluppare programmi Java che creano, convertono e manipolano documenti PDF.

  • Jasper Reports - Questo è uno strumento di reporting Java che genera report in documenti PDF inclusi Microsoft Excel, RTF, ODT, valori separati da virgole e file XML.

Cos'è iText?

Simile al software sopra elencato, iText è una libreria PDF Java che consente di sviluppare programmi Java che creano, convertono e manipolano documenti PDF.

Caratteristiche di iText

Di seguito sono riportate le caratteristiche notevoli della libreria iText:

  • Interactive- iText fornisce classi (API) per generare documenti PDF interattivi. Usandoli, puoi creare mappe e libri.

  • Adding bookmarks, page numbers, etc - Utilizzando iText, puoi aggiungere segnalibri, numeri di pagina e filigrane.

  • Split & Merge - Utilizzando iText, puoi dividere un PDF esistente in più PDF e anche aggiungere / concatenare pagine aggiuntive ad esso.

  • Fill Forms - Utilizzando iText, puoi compilare moduli interattivi in ​​un documento PDF.

  • Save as Image - Utilizzando iText, puoi salvare i PDF come file immagine, come PNG o JPEG.

  • Canvas - La libreria iText ti fornisce una classe Canvas con la quale puoi disegnare varie forme geometriche su un documento PDF come cerchio, linea, ecc.

  • Create PDFs- Usando iText, puoi creare un nuovo file PDF dai tuoi programmi Java. Puoi includere anche immagini e caratteri.

IText Environment

Seguire i passaggi indicati di seguito per impostare l'ambiente iText su Eclipse.

Step 1 - Installa Eclipse e apri un nuovo progetto al suo interno come mostrato di seguito.

Step 2 - Crea un file iTextSample progetto come mostrato di seguito.

Step 3- Fare clic con il pulsante destro del mouse sul progetto e convertirlo in un progetto Maven come mostrato di seguito. Una volta convertito nel progetto Maven, ti darà un filepom.xmldove è necessario menzionare le dipendenze richieste. Successivamente, iljar i file di queste dipendenze verranno automaticamente scaricati nel progetto.

Step 4 - Ora, nel pom.xml del progetto, copia e incolla il seguente contenuto (dipendenze per l'applicazione iText) e aggiorna il progetto.

Using pom.xml

Converti il ​​progetto nel progetto Maven e aggiungi il seguente contenuto al suo file 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>

Infine, se osservi le dipendenze Maven, puoi osservare che tutte le richieste jar i file sono stati scaricati.