iText - Gambaran Umum

Portable Document Format (PDF) adalah format file yang membantu menyajikan data dengan cara yang tidak tergantung pada perangkat lunak aplikasi, perangkat keras, dan sistem operasi. Setiap file PDF menyimpan deskripsi dokumen datar tata letak tetap, termasuk teks, font, grafik, dan informasi lain yang diperlukan untuk menampilkannya.

Ada beberapa perpustakaan yang tersedia untuk membuat dan memanipulasi dokumen PDF melalui program, seperti -

  • Adobe PDF Library- Library ini menyediakan API dalam bahasa seperti C ++, .NET, dan Java. Dengan menggunakan ini, kita dapat mengedit, melihat, mencetak, dan mengekstrak teks dari dokumen PDF.

  • Formatting Objects Processor- Pemformat cetak sumber terbuka yang digerakkan oleh Objek Pemformatan XSL dan pemformat independen keluaran. Target keluaran utama adalah PDF.

  • PDF Box- Apache PDFBox adalah pustaka Java sumber terbuka yang mendukung pengembangan dan konversi dokumen PDF. Dengan menggunakan perpustakaan ini, Anda dapat mengembangkan program Java yang membuat, mengonversi, dan memanipulasi dokumen PDF.

  • Jasper Reports - Ini adalah alat pelaporan Java yang menghasilkan laporan dalam dokumen PDF termasuk Microsoft Excel, RTF, ODT, nilai yang dipisahkan koma, dan file XML.

Apa itu iText?

Mirip dengan perangkat lunak yang tercantum di atas, iText adalah perpustakaan Java PDF yang dengannya, Anda dapat mengembangkan program Java yang membuat, mengonversi, dan memanipulasi dokumen PDF.

Fitur iText

Berikut adalah fitur-fitur penting dari perpustakaan iText -

  • Interactive- iText memberi Anda kelas (API) untuk menghasilkan dokumen PDF interaktif. Dengan menggunakan ini, Anda dapat membuat peta dan buku.

  • Adding bookmarks, page numbers, etc - Dengan menggunakan iText, Anda dapat menambahkan penanda, nomor halaman, dan tanda air.

  • Split & Merge - Menggunakan iText, Anda dapat membagi PDF yang ada menjadi beberapa PDF dan juga menambahkan / menggabungkan halaman tambahan ke dalamnya.

  • Fill Forms - Dengan menggunakan iText, Anda dapat mengisi formulir interaktif dalam dokumen PDF.

  • Save as Image - Dengan menggunakan iText, Anda dapat menyimpan PDF sebagai file gambar, seperti PNG atau JPEG.

  • Canvas - Perpustakaan iText memberi Anda kelas Canvas yang dengannya Anda dapat menggambar berbagai bentuk geometris pada dokumen PDF seperti lingkaran, garis, dll.

  • Create PDFs- Dengan menggunakan iText, Anda dapat membuat file PDF baru dari program Java Anda. Anda juga dapat menyertakan gambar dan font.

Lingkungan IText

Ikuti langkah-langkah yang diberikan di bawah ini untuk mengatur lingkungan iText di Eclipse.

Step 1 - Instal Eclipse dan buka proyek baru di dalamnya seperti yang ditunjukkan di bawah ini.

Step 2 - Buat iTextSample proyek seperti yang ditunjukkan di bawah ini.

Step 3- Klik kanan pada proyek tersebut dan ubah menjadi proyek Maven seperti yang ditunjukkan di bawah ini. Setelah Anda mengubahnya menjadi proyek Maven, itu akan memberi Anda filepom.xmldi mana Anda perlu menyebutkan dependensi yang diperlukan. Setelah itu,jar file dependensi tersebut akan diunduh secara otomatis ke dalam proyek Anda.

Step 4 - Sekarang, di pom.xml dari proyek, salin dan tempel konten berikut (ketergantungan untuk aplikasi iText) dan segarkan proyek.

Using pom.xml

Ubah proyek menjadi proyek Maven dan tambahkan konten berikut ke dalamnya 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>

Akhirnya, jika Anda mengamati dependensi Maven, Anda dapat mengamati semua yang diperlukan jar file telah diunduh.