iText - Обзор

Portable Document Format (PDF) - это формат файла, который помогает представлять данные способом, который не зависит от прикладного программного обеспечения, оборудования и операционных систем. Каждый файл PDF содержит описание плоского документа с фиксированным макетом, включая текст, шрифты, графику и другую информацию, необходимую для его отображения.

Доступно несколько библиотек для создания и управления PDF-документами с помощью программ, таких как -

  • Adobe PDF Library- Эта библиотека предоставляет API на таких языках, как C ++, .NET и Java. Используя это, мы можем редактировать, просматривать, печатать и извлекать текст из документов PDF.

  • Formatting Objects Processor- Модуль форматирования печати с открытым исходным кодом, управляемый объектами форматирования XSL, и модуль форматирования, не зависящий от вывода. Основная цель вывода - PDF.

  • PDF Box- Apache PDFBox - это библиотека Java с открытым исходным кодом, которая поддерживает разработку и преобразование документов PDF. Используя эту библиотеку, вы можете разрабатывать программы на Java, которые создают, конвертируют и управляют документами PDF.

  • Jasper Reports - Это инструмент отчетности Java, который создает отчеты в формате PDF, включая Microsoft Excel, RTF, ODT, значения, разделенные запятыми, и файлы XML.

Что такое iText?

Подобно перечисленному выше программному обеспечению, iText представляет собой библиотеку Java PDF, с помощью которой вы можете разрабатывать программы Java, которые создают, конвертируют и управляют документами PDF.

Особенности iText

Ниже приведены примечательные особенности библиотеки iText:

  • Interactive- iText предоставляет вам классы (API) для создания интерактивных PDF-документов. Используя их, вы можете создавать карты и книги.

  • Adding bookmarks, page numbers, etc - Используя iText, вы можете добавлять закладки, номера страниц и водяные знаки.

  • Split & Merge - Используя iText, вы можете разделить существующий PDF-файл на несколько PDF-файлов, а также добавить / объединить в него дополнительные страницы.

  • Fill Forms - Используя iText, вы можете заполнять интерактивные формы в PDF-документе.

  • Save as Image - Используя iText, вы можете сохранять PDF-файлы как файлы изображений, например PNG или JPEG.

  • Canvas - Библиотека iText предоставляет вам класс Canvas, с помощью которого вы можете рисовать различные геометрические формы в документе PDF, такие как круг, линия и т. Д.

  • Create PDFs- Используя iText, вы можете создать новый файл PDF из ваших программ Java. Вы также можете включать изображения и шрифты.

IText Environment

Следуйте инструкциям ниже, чтобы установить среду iText в Eclipse.

Step 1 - Установите Eclipse и откройте в нем новый проект, как показано ниже.

Step 2 - Создать iTextSample проект, как показано ниже.

Step 3- Щелкните проект правой кнопкой мыши и преобразуйте его в проект Maven, как показано ниже. После того, как вы конвертируете его в проект Maven, вы получитеpom.xmlгде нужно указать необходимые зависимости. После этогоjar файлы этих зависимостей будут автоматически загружены в ваш проект.

Step 4 - Теперь в pom.xml проекта, скопируйте и вставьте следующее содержимое (зависимости для приложения iText) и обновите проект.

Using pom.xml

Преобразуйте проект в проект Maven и добавьте в него следующее содержимое. 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>

Наконец, если вы наблюдаете зависимости Maven, вы можете заметить, что все необходимые jar файлы были загружены.