iText - Tổng quan

Định dạng Tài liệu Di động (PDF) là một định dạng tệp giúp trình bày dữ liệu theo cách độc lập với phần mềm ứng dụng, phần cứng và hệ điều hành. Mỗi tệp PDF chứa mô tả của một tài liệu phẳng có bố cục cố định, bao gồm văn bản, phông chữ, đồ họa và các thông tin khác cần thiết để hiển thị nó.

Có một số thư viện có sẵn để tạo và thao tác tài liệu PDF thông qua các chương trình, chẳng hạn như -

  • Adobe PDF Library- Thư viện này cung cấp API bằng các ngôn ngữ như C ++, .NET và Java. Sử dụng tính năng này, chúng tôi có thể chỉnh sửa, xem, in và trích xuất văn bản từ các tài liệu PDF.

  • Formatting Objects Processor- Bộ định dạng in mã nguồn mở được điều khiển bởi Đối tượng Định dạng XSL và một bộ định dạng đầu ra độc lập. Mục tiêu đầu ra chính là PDF.

  • PDF Box- Apache PDFBox là một thư viện Java mã nguồn mở hỗ trợ phát triển và chuyển đổi các tài liệu PDF. Sử dụng thư viện này, bạn có thể phát triển các chương trình Java để tạo, chuyển đổi và thao tác các tài liệu PDF.

  • Jasper Reports - Đây là một công cụ báo cáo Java tạo báo cáo trong tài liệu PDF bao gồm Microsoft Excel, RTF, ODT, các giá trị được phân tách bằng dấu phẩy và các tệp XML.

IText là gì?

Tương tự như iText của phần mềm được liệt kê ở trên, bạn có thể phát triển các chương trình Java để tạo, chuyển đổi và xử lý các tài liệu PDF.

Các tính năng của iText

Sau đây là các tính năng đáng chú ý của thư viện iText:

  • Interactive- iText cung cấp cho bạn các lớp (API) để tạo các tài liệu PDF tương tác. Sử dụng những thứ này, bạn có thể tạo bản đồ và sách.

  • Adding bookmarks, page numbers, etc - Sử dụng iText, bạn có thể thêm dấu trang, số trang và hình mờ.

  • Split & Merge - Sử dụng iText, bạn có thể chia một tệp PDF hiện có thành nhiều tệp PDF và cũng có thể thêm / nối các trang bổ sung vào nó.

  • Fill Forms - Sử dụng iText, bạn có thể điền vào các biểu mẫu tương tác trong một tài liệu PDF.

  • Save as Image - Sử dụng iText, bạn có thể lưu PDF dưới dạng tệp hình ảnh, chẳng hạn như PNG hoặc JPEG.

  • Canvas - Thư viện iText cung cấp cho bạn một lớp Canvas để bạn có thể vẽ các hình dạng hình học khác nhau trên tài liệu PDF như hình tròn, đường thẳng, v.v.

  • Create PDFs- Sử dụng iText, bạn có thể tạo một tệp PDF mới từ các chương trình Java của mình. Bạn cũng có thể bao gồm hình ảnh và phông chữ.

Môi trường IText

Làm theo các bước dưới đây để thiết lập môi trường iText trên Eclipse.

Step 1 - Cài đặt Eclipse và mở một dự án mới trong đó như hình dưới đây.

Step 2 - Tạo một iTextSample dự án như hình dưới đây.

Step 3- Nhấp chuột phải vào dự án và chuyển thành dự án Maven như hình bên dưới. Khi bạn chuyển đổi nó thành dự án Maven, nó sẽ cung cấp cho bạnpom.xmlnơi bạn cần đề cập đến các phụ thuộc bắt buộc. Sau đó,jar các tệp của các phần phụ thuộc đó sẽ được tự động tải xuống dự án của bạn.

Step 4 - Bây giờ, trong pom.xml của dự án, sao chép và dán nội dung sau (phần phụ thuộc cho ứng dụng iText) và làm mới dự án.

Using pom.xml

Chuyển đổi dự án thành dự án Maven và thêm nội dung sau vào 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>

Cuối cùng, nếu bạn quan sát các phụ thuộc của Maven, bạn có thể thấy rằng tất cả các jar các tệp đã được tải xuống.