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 файлы были загружены.

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

Создание пустого PDF-документа

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Ниже приведены шаги по созданию пустого PDF-документа.

Шаг 1. Создание объекта PdfWriter

В PdfWriterКласс представляет Doc Writer для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/sample.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3. Добавление пустой страницы

В addNewPage() метод PdfDocument Класс используется для создания пустой страницы в документе PDF.

Добавьте пустую страницу в документ PDF, созданный на предыдущем шаге, как показано ниже.

// Adding an empty page 
pdfDoc.addNewPage();

Шаг 4: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 5: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Ниже приводится программа на Java, которая демонстрирует создание PDF-документа. Создает PDF-документ с именемsample.pdf, добавляет к ней пустую страницу и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем create_PDF.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document;  

public class create_PDF {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/sample.pdf";       
      PdfWriter writer = new PdfWriter(dest); 
   
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
   
      // Adding a new page 
      pdfDoc.addNewPage();               
   
      // Creating a Document        
      Document document = new Document(pdfDoc);               
   
      // Closing the document    
      document.close();              
      System.out.println("PDF Created");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac create_PDF.java 
java create_PDF

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

PDF created

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

Поскольку это пустой документ, если вы попытаетесь открыть этот документ, отобразится сообщение об ошибке, как показано на следующем снимке экрана.

В этой главе мы увидим, как создать PDF-документ с AreaBreak, используя библиотеку iText.

Создание AreaBreak

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктору. Затем, чтобы добавить в документ область действия, вам нужно создать экземплярAreaBreak класс и add этот объект для документирования с помощью add() метод.

Ниже приведены шаги по созданию пустого PDF-документа с помощью AreaBreak.

Шаг 1. Создание объекта PdfWriter

В PdfWriter класс представляет Doc Writer для PDF, этот класс принадлежит пакету com.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение, представляющее путь, по которому вам нужно создать PDF, в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingAreaBreak.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocument class - это класс, представляющий PDF-документ в iText, этот класс принадлежит пакету com.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла, обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта Area Break

В AreaBreak класс принадлежит пакету com.itextpdf.layout.element. При создании экземпляра этого класса текущая область контекста будет закрыта и будет создана новая с тем же размером (в случае использования конструктора по умолчанию).

Создайте экземпляр AreaBreak класс, как показано ниже.

// Creating an Area Break    
AreaBreak aB = new AreaBreak();

Шаг 5: добавление AreaBreak

Добавить areabreak объект, созданный на предыдущем шаге с помощью add() метод класса Document, как показано ниже.

// Adding area break to the PDF 
document.add(aB);

Шаг 6: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как создать PDF-документ с AreaBreak, используя библиотеку iText. Создает PDF-документ с именемaddingAreaBreak.pdf, добавляет areabreak к нему, и сохраняет его на пути C:/itextExamples/.

Сохраните этот код в файле с именем AddingAreaBreak.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.AreaBreak;  

public class AddingAreaBreak {    
   public static void main(String args[]) throws Exception {       
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingAreaBreak.pdf";       
      PdfWriter writer = new PdfWriter(dest);
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);             
   
      // Creating a Document by passing PdfDocument object to its constructor       
      Document document = new Document(pdf);  
   
      // Creating an Area Break          
      AreaBreak aB = new AreaBreak();           
   
      // Adding area break to the PDF       
      document.add(aB);              
   
      // Closing the document       
      document.close();           
      System.out.println("Pdf created");       
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddingAreaBreak.java 
java AddingAreaBreak

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

Pdf Created

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как создать документ PDF и добавить в него абзац с помощью библиотеки iText.

Создание абзаца

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктору. Затем, чтобы добавить абзац в документ, вам нужно создать экземплярParagraph class и добавьте этот объект в документ, используя add() метод.

Ниже приведены шаги по созданию документа PDF с абзацем в нем.

Шаг 1. Создание объекта PdfWriter

В PdfWriterКласс представляет Doc Writer для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingParagraph.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание PDF-документа

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание класса документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом. При создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр класса Document, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта "Абзац"

В ParagraphКласс представляет собой автономный блок текстовой и графической информации. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр Paragraph class, передав текстовое содержимое в виде строки его конструктору, как показано ниже.

String para = "Welcome to Tutorialspoint."; 
// Creating an Area Break    
Paragraph para = new Paragraph (para);

Шаг 5: Добавление абзаца

Добавить Paragraph объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding area break to the PDF 
document.add(para);

Шаг 6: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как создать PDF-документ и добавить в него абзац с помощью библиотеки iText. Создает PDF-документ с именемaddingParagraph.pdf, добавляет к нему абзац и сохраняет его в пути C:/itextExamples/.

Сохраните этот код в файле с именем AddingParagraph.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Paragraph;  

public class AddingParagraph {    
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingParagraph.pdf";       
      PdfWriter writer = new PdfWriter(dest);           
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdf);              
      String para1 = "Tutorials Point originated from the idea that there exists 
      a class of readers who respond better to online content and prefer to learn 
      new skills at their own pace from the comforts of their drawing rooms.";  
      
      String para2 = "The journey commenced with a single tutorial on HTML in 2006 
      and elated by the response it generated, we worked our way to adding fresh 
      tutorials to our repository which now proudly flaunts a wealth of tutorials 
      and allied articles on topics ranging from programming languages to web designing 
      to academics and much more.";              
      
      // Creating Paragraphs       
      Paragraph paragraph1 = new Paragraph(para1);             
      Paragraph paragraph2 = new Paragraph(para2);              
      
      // Adding paragraphs to document       
      document.add(paragraph1);       
      document.add(paragraph2);           
      
      // Closing the document       
      document.close();             
      System.out.println("Paragraph added");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddingParagraph.java 
java AddingParagraph

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

Paragraph added

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как создать PDF-документ и добавить в него список с помощью библиотеки iText.

Создание списка

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктору. Затем, чтобы добавить список в документ, вам нужно создать экземплярList class и добавьте этот объект в документ, используя add() метод.

Ниже приведены шаги по созданию документа PDF и добавлению в него списка.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingList.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocument class - это класс, представляющий PDF-документ в iText, этот класс принадлежит пакету com.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта списка

В ListКласс представляет собой серию объектов, очерченных вертикально. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр List класс, как показано ниже.

// Creating a list  
List list = new List();

Шаг 5: добавление элементов в список

Добавить содержимое в list объект с помощью add() метод List class, передавая значения String, как показано ниже.

//  Add elements to the list 
list.add("Java"); 
list.add("JavaFX"); 
list.add("Apache Tika"); 
list.add("OpenCV");

Шаг 6: Добавление списка в документ

Добавить list объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding list to the document 
document.add(list);

Шаг 7: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как создать PDF-документ и добавить в него список с помощью библиотеки iText. Создает PDF-документ с именемaddingList.pdf, добавляет к нему список и сохраняет его в пути C:/itextExamples/.

Сохраните этот код в файле с именем AddingList.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.List; 
import com.itextpdf.layout.element.Paragraph;  

public class AddingList {      
   public static void main(String args[]) throws Exception {               
      // Creating a PdfWriter
      String dest = "C:/itextExamples/addngList.pdf";       
      PdfWriter writer = new PdfWriter(dest);              
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
   
      // Creating a Document        
      Document document = new Document(pdf);              
   
      // Creating a Paragraph       
      Paragraph paragraph = new Paragraph("Tutorials Point provides the following tutorials");
      
      // Creating a list
      List list = new List();  
      
      // Add elements to the list       
      list.add("Java");       
      list.add("JavaFX");      
      list.add("Apache Tika");       
      list.add("OpenCV");       
      list.add("WebGL");       
      list.add("Coffee Script");       
      list.add("Java RMI");       
      list.add("Apache Pig");              
      
      // Adding paragraph to the document       
      document.add(paragraph);                    
     
      // Adding list to the document       
      document.add(list);
      
      // Closing the document       
      document.close();              
      System.out.println("List added");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddingList.java 
java AddingList

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

List added

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как создать PDF-документ и добавить в него таблицу с помощью библиотеки iText.

Добавление таблицы в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктора. Затем, чтобы добавить таблицу в документ, вам нужно создать экземплярTable class и добавьте этот объект в документ, используя add() метод.

Ниже приведены шаги по созданию PDF-документа с таблицей в нем.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр PdfWriter класс, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingTable.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект классаPdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта таблицы

В TableКласс представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр Table класс, как показано ниже.

// Creating a table object 
float [] pointColumnWidths = {150F, 150F, 150F}; 
Table table = new Table(pointColumnWidths);

Шаг 5. Добавление ячеек в таблицу

Создать cell объект путем создания экземпляра Cell класс пакета com.itextpdf.layout.element. Добавьте содержимое ячейки, используяadd() метод этого класса.

Наконец, чтобы добавить эту ячейку в таблицу, вызовите addCell() метод Table класс и пройти cell объект в качестве параметра этого метода, как показано ниже.

// Adding cell 1 to the table 
Cell cell1 = new Cell();   // Creating a cell 
cell1.add("Name");         // Adding content to the cell 
table.addCell(cell1);      // Adding cell to the table       

// Adding cell 2 to the table Cell 
cell2 = new Cell();       // Creating a cell 
cell2.add("Raju");        // Adding content to the cell 
table.addCell(cell2);     // Adding cell to the table

Шаг 6: Добавление таблицы в документ

Добавить table объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding list to the document 
document.add(table);

Шаг 7: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как создать PDF-документ и добавить в него таблицу с помощью библиотеки iText. Создает PDF-документ с именемaddingTable.pdf, добавляет к нему таблицу и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем AddingTable.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table;  

public class AddingTable {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfDocument object   
      String dest = "C:/itextExamples/addingTable.pdf";   
      PdfWriter writer = new PdfWriter(dest);       
         
      // Creating a PdfDocument object      
      PdfDocument pdf = new PdfDocument(writer);                  
      
      // Creating a Document object       
      Document doc = new Document(pdf);                       
         
      // Creating a table       
      float [] pointColumnWidths = {150F, 150F, 150F};   
      Table table = new Table(pointColumnWidths);    
      
      // Adding cells to the table       
      table.addCell(new Cell().add("Name"));       
      table.addCell(new Cell().add("Raju"));       
      table.addCell(new Cell().add("Id"));       
      table.addCell(new Cell().add("1001"));       
      table.addCell(new Cell().add("Designation"));       
      table.addCell(new Cell().add("Programmer"));                 
         
      // Adding Table to document        
      doc.add(table);                  
         
      // Closing the document       
      doc.close();
      System.out.println("Table created successfully..");   
   }     
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddingTable.java 
java AddingTable

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

Table created successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как создать PDF-документ, добавить таблицу и отформатировать содержимое ячейки в таблице с помощью библиотеки iText.

Форматирование ячеек в таблице

Вы можете создать пустой PDF Documentпутем создания экземпляра класса Document. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземплярTable class и добавьте этот объект в документ, используя add()метод. Вы можете форматировать содержимое ячейки в таблице, используя методыCell класс.

Ниже приведены шаги по форматированию содержимого ячейки в таблице.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingBackground.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDFDocument в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр PdfDocument class путем передачи созданного выше PdfWriter объект в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Когда PdfDocument создается объект, вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта таблицы

В TableКласс представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр класса Table, как показано ниже.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Шаг 5: Создание ячеек

Создать cell объект путем создания экземпляра Cell класс пакета com.itextpdf.layout.element. Добавьте содержимое ячейки, используяadd() метод Cell класс, как показано ниже.

// Adding cell 1 to the table 
Cell cell1 = new Cell();     // Creating a cell 
cell1.add("Name");           // Adding content to the cell       

// Adding cell 2 to the table 
Cell cell2 = new Cell();     // Creating a cell 
cell2.add("Raju");           // Adding content to the cell

Шаг 6: Добавление фона в ячейку

После того, как вы создали ячейку и добавили в нее содержимое, вы можете отформатировать ячейку. Например, вы можете установить фон, выровнять текст внутри ячейки, изменить цвет текста и т. Д., Используя различные методы класса ячейки, такие какsetBackgroundColor(), setBorder(), setTextAlignment().

Вы можете установить цвет фона, границу и выравнивание текста для ячейки, созданной на предыдущем шаге, как показано ниже.

c1.setBackgroundColor(Color.DARK_GRAY);    // Setting background color to cell1 
c1.setBorder(Border.NO_BORDER);            // Setting border to cell1 
c1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment to cell1

Шаг 7: добавление ячейки в таблицу

Наконец, чтобы добавить эту ячейку в таблицу, вызовите addCell() метод Table класс и пройти cell объект в качестве параметра этого метода, как показано ниже.

table.addCell(c1);

Шаг 8: Добавление таблицы в документ

Добавить table объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding list to the document 
document.add(table);

Шаг 9: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как форматировать содержимое ячейки в таблице с помощью библиотеки iText. Создает PDF-документ с именемaddingBackground.pdf, добавляет к нему таблицу, форматирует содержимое ее ячеек и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем BackgroundToTable.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class BackgroundToTable {      
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingBackground.pdf";   
      PdfWriter writer = new PdfWriter(dest);                  
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object      
      Document doc = new Document(pdfDoc); 
      
      // Creating a table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table               
      Cell c1 = new Cell();                        // Creating cell 1 
      c1.add("Name");                              // Adding name to cell 1   
      c1.setBackgroundColor(Color.DARK_GRAY);      // Setting background color
      c1.setBorder(Border.NO_BORDER);              // Setting border
      c1.setTextAlignment(TextAlignment.CENTER);   // Setting text alignment      
      table.addCell(c1);                           // Adding cell 1 to the table 
      
      Cell c2 = new 
      Cell();                               
      c2.add("Raju");       
      c2.setBackgroundColor(Color.GRAY);       
      c2.setBorder(Border.NO_BORDER);       
      c2.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c2);      
      
      // Populating row 2 and adding it to the table               
      Cell c3 = new Cell();       
      c3.add("Id");       
      c3.setBackgroundColor(Color.WHITE);       
      c3.setBorder(Border.NO_BORDER);       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBackgroundColor(Color.WHITE);       
      c4.setBorder(Border.NO_BORDER);       
      c4.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c4);                          
      
      // Populating row 3 and adding it to the table        
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBackgroundColor(Color.DARK_GRAY);       
      c5.setBorder(Border.NO_BORDER);       
      c5.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c5);                 
      
      Cell c6 = new Cell(); 
      c6.add("Programmer");       
      c6.setBackgroundColor(Color.GRAY);       
      c6.setBorder(Border.NO_BORDER);       
      c6.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Background added successfully..");     
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac BackgroundToTable.java 
java BackgroundToTable

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

Background added successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как отформатировать границы ячейки в таблице с помощью библиотеки iText.

Форматирование границ ячейки

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Затем, чтобы добавить таблицу в документ, вам нужно создать экземпляр Table class и добавьте этот объект в документ, используя add() метод.

Вы можете добавлять различные типы границ, например DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorderи т. д. с различными цветами, используя setBorder() метод Cell класс.

Ниже приведены шаги по форматированию границ ячейки в таблице.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/coloredBorders.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDFDocument в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр PdfDocument class путем передачи созданного выше PdfWriter объект в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта таблицы

В TableКласс представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр Table класс, как показано ниже.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Шаг 5: Создание ячеек

Создайте объект ячейки, создав экземпляр Cell класс пакета com.itextpdf.layout.element добавьте содержимое ячейки, используя add() метод Cell класс, как показано ниже.

// Adding cell 1 to the table 
Cell cell1 = new Cell(); // Creating a cell 
cell1.add("Name");       // Adding content to the cell

Шаг 6: форматирование границы ячейки

Библиотека iText предоставляет различные классы, представляющие границу, такие как DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder, и т.д.

Конструкторы этих классов принимают два параметра: color объект, представляющий цвет границы и integer представляет ширину границы.

Выберите один из этих типов границы и создайте экземпляр соответствующей границы, передав color объект и integer представляя ширину, как показано ниже.

Border b1 = new DashedBorder(Color.RED, 3);

Теперь установите границу ячейки, используя setBorder() метод cellкласс. Этот метод принимает объект типаBorder в качестве параметра.

Установите границу ячейки, передав созданное выше Border объект как параметр для setBorder() метод, как показано ниже.

c1.setBorder(b1)

Наконец, чтобы добавить эту ячейку в таблицу, вызовите addCell() метод Table класс и пройти cell объект в качестве параметра этого метода, как показано ниже.

table.addCell(c1);

Шаг 7: Добавление таблицы в документ

Добавить table объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding list to the document 
document.add(table);

Шаг 8: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как отформатировать границу ячейки в таблице с помощью библиотеки iText. Создает PDF-документ с именемcoloredBorders.pdf, добавляет к нему таблицу, форматирует содержимое ее ячеек и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем FormatedBorders.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.border.DashedBorder; 
import com.itextpdf.layout.border.DottedBorder; 
import com.itextpdf.layout.border.DoubleBorder; 
import com.itextpdf.layout.border.RoundDotsBorder; 
import com.itextpdf.layout.border.SolidBorder; 

import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class FormatedBorders {      
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/coloredBorders.pdf";   
      
      PdfWriter writer = new 
      PdfWriter(dest);                 

      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                      
   
      // Creating a Document object      
      Document doc = new Document(pdfDoc);                            
   
      // Creating a table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths); 
   
      // Adding row 1 to the table
      Cell c1 = new Cell();
      
      // Adding the contents of the cell
      c1.add("Name");
   
      // Setting the back ground color of the cell
      c1.setBackgroundColor(Color.DARK_GRAY);    
   
      // Instantiating the Border class 
      Border b1 = new DashedBorder(Color.RED, 3);
   
      // Setting the border of the cell
      c1.setBorder(b1);
      
      // Setting the text alignment       
      c1.setTextAlignment(TextAlignment.CENTER);
   
      // Adding the cell to the table       
      table.addCell(c1);                          
      Cell c2 = new Cell();       
      c2.add("Raju");       
      c1.setBorder(new SolidBorder(Color.RED, 3));       
      c2.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c2);
   
      // Adding row 2 to the table                
      Cell c3 = new Cell();      
      c3.add("Id"); 
      c3.setBorder(new DottedBorder(Color.DARK_GRAY, 3));       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBorder(new DoubleBorder(Color.DARK_GRAY, 3));       
      c4.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c4);                          
      
      // Adding row 3 to the table       
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBorder(new RoundDotsBorder(Color.RED, 3));       
      c5.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c5);                 
      
      Cell c6 = new Cell();       
      c6.add("Programmer");       
      c6.setBorder(new RoundDotsBorder(Color.RED, 3)); 
      c6.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Borders added successfully..");     
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac FormatedBorders.java 
java FormatedBorders

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

Borders added successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить изображение в таблицу в PDF-документе с помощью библиотеки iText.

Добавление изображения в таблицу

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземплярTable class и добавьте этот объект в документ, используя add() метод.

Чтобы добавить изображение в эту таблицу, вам необходимо создать экземпляр Cell class, create и объект изображения, который требуется добавить, добавьте изображение в cell объект с помощью add() метод Cell класс.

Ниже приведены шаги по вставке изображения в ячейку таблицы.

Шаг 1. Создание объекта PdfWriter

В PdfWriter класс представляет Doc Writer для PDF, этот класс принадлежит пакету com.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение, представляющее путь, по которому вам нужно создать PDF, в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingImage.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр PdfDocument class, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект классаPdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта таблицы

В TableКласс представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр Table класс, как показано ниже.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Шаг 5: Создание ячейки

Создать cell объект путем создания экземпляра Cell класс пакета com.itextpdf.layout, как показано ниже.

// Adding cell to the table
Cell cell = new Cell();  // Creating a cell

Шаг 6: Создание изображения

Для создания image объект, прежде всего, создайте ImageData объект с помощью create() метод ImageDataFactoryкласс. В качестве параметра этого метода передайте строковый параметр, представляющий путь к изображению, как показано ниже.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Теперь создайте экземпляр Image класс com.itextpdf.layout.elementпакет. При создании экземпляра передайтеImageData объект, созданный выше, в качестве параметра его конструктора, как показано ниже.

// Creating an Image object 
Image img = new Image(data);

Добавить image объект в ячейку, используя add() метод класса ячейки, как показано ниже.

// Adding image to the cell  
cell.add(img.setAutoScale(true));

Шаг 7: добавление ячейки в таблицу

Наконец, чтобы добавить эту ячейку в таблицу, вызовите addCell() метод Table класс и пройти cell объект в качестве параметра этого метода, как показано ниже.

table.addCell(cell);

Шаг 8: Добавление таблицы в документ

Добавить table объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding list to the document 
document.add(table);

Шаг 9: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить изображение в ячейку таблицы в документе PDF с помощью библиотеки iText. Создает PDF-документ с именемaddingImage.pdf, добавляет к нему таблицу, вставляет изображение (javafxLogo.jpg) в одну из своих ячеек и сохраняет его в пути C:/itextExamples/.

Сохраните этот код в файле с именем AddingImageToTable.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Image; 
import com.itextpdf.layout.element.Table;  

public class a3AddingImageToTable {
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object 
      String dest = "C:/itextExamples/addingImage.pdf";
      PdfWriter writer = new PdfWriter(dest);    
      
      // Creating a PdfDocument object   
      PdfDocument pdfDoc = new PdfDocument(writer);
      
      // Creating a Document object
      Document doc = new Document(pdfDoc);
      
      // Creating a table
      float [] pointColumnWidths = {150f, 150f};
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table
      Cell cell1 = new Cell();
      cell1.add("Tutorial ID");
      table.addCell(cell1);
      
      Cell cell2 = new Cell();
      cell2.add("1");
      table.addCell(cell2);
      
      // Populating row 2 and adding it to the table
      Cell cell3 = new Cell();
      cell3.add("Tutorial Title");
      table.addCell(cell3);             
      
      Cell cell4 = new Cell(); 
      cell4.add("JavaFX");  
      table.addCell(cell4);
      
      // Populating row 3 and adding it to the table
      Cell cell5 = new Cell();
      cell5.add("Tutorial Author");
      table.addCell(cell5);            
      
      Cell cell6 = new Cell();
      cell6.add("Krishna Kasyap");
      table.addCell(cell6);
      
      // Populating row 4 and adding it to the table
      Cell cell7 = new Cell();
      cell7.add("Submission date");
      table.addCell(cell7);
      
      Cell cell8 = new Cell();
      cell8.add("2016-07-06");
      table.addCell(cell8);              
      
      // Populating row 5 and adding it to the table
      Cell cell9 = new Cell();
      cell9.add("Tutorial Icon");
      table.addCell(cell9);              
      
      // Creating the cell10       
      Cell cell10 = new Cell();              
      
      // Creating an ImageData object       
      String imageFile = "C:/itextExamples/javafxLogo.jpg";       
      ImageData data = ImageDataFactory.create(imageFile);        

      // Creating the image       
      Image img = new Image(data);              

      // Adding image to the cell10       
      cell10.add(img.setAutoScale(true));        

      // Adding cell110 to the table       
      table.addCell(cell10);                         
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Image added to table successfully..");     
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddingImageToTable.java 
java AddingImageToTable

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

Image added to table successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить вложенную таблицу в таблицу в документе PDF с помощью библиотеки iText.

Добавление вложенных таблиц в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземплярTable class и добавьте этот объект в документ, используя add() метод.

Чтобы добавить таблицу в эту таблицу, вам необходимо создать другую таблицу (вложенную таблицу) и передать ее объекту ячейки с помощью add() метод Cell класс.

Ниже приведены шаги по вставке таблицы в ячейку таблицы.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingNestedTable.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект класса PdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта таблицы

В TableКласс представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр Table класс, как показано ниже.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Шаг 5: Создание ячейки

Создать cell объект путем создания экземпляра Cell класс пакета com.itextpdf.layout, как показано ниже.

// Adding cell to the table 
Cell contact = new Cell();    // Creating a cell

Шаг 6: Создание вложенной таблицы

После создания cell, создайте вложенную таблицу и заполните ее ячейки, как показано ниже.

// Creating nested table for contact   
float [] pointColumnWidths2 = {150f, 150f}; 
Table nestedTable = new Table(pointColumnWidths2);    

// Populating row 1 and adding it to the nested table  
Cell nested1 = new Cell(); 
nested1.add("Phone"); 
nestedTable.addCell(nested1);       

Cell nested2 = new Cell(); 
nested2.add("9848022338"); 
nestedTable.addCell(nested2);  

// Populating row 2 and adding it to the nested table  
Cell nested3 = new Cell(); 
nested3.add("email"); 
nestedTable.addCell(nested3);

Cell nested4 = new Cell(); 
nested4.add("[email protected]"); 
nestedTable.addCell(nested4);     

// Populating row 3 and adding it to the nested table  
Cell nested5 = new Cell(); 
nested5.add("Address"); 
nestedTable.addCell(nested5);  

Cell nested6 = new Cell(); 
nested6.add("Hyderabad"); 
nestedTable.addCell(nested6);

Шаг 7: Добавление вложенной таблицы в ячейку

Теперь добавьте созданную выше вложенную таблицу в ячейку родительской (контейнерной) таблицы, используя add() метод Cellкласс. И добавьте эту ячейку в родительскую таблицу, используяaddCell() метод Table класс, как показано ниже.

contact.add(nestedTable); 
table.addCell(contact);

Шаг 8: Добавление таблицы в документ

Добавить table объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding list to the document 
document.add(table);

Шаг 9: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить таблицу в ячейку таблицы (вложенную таблицу) в документе PDF с помощью библиотеки iText. Создает PDF-документ с именемaddingNestedTable.pdf, добавляет к ней таблицу, вставляет другую таблицу в одну из своих ячеек и сохраняет ее в пути C:/itextExamples/.

Сохраните этот код в файле с именем AddNestedTable.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table;  

public class a4AddNestedTablesPdf {  
   public static void main(String args[]) throws Exception {                        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingNestedTable.pdf";   
      PdfWriter writer = new PdfWriter(dest);                  
   
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                      
   
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                            
   
      // Creating a table       
      float [] pointColumnWidths1 = {150f, 150f};       
      Table table = new Table(pointColumnWidths1);                             
      
      // Populating row 1 and adding it to the table          
      Cell cell1 = new Cell();       
      cell1.add("Name");       
      table.addCell(cell1);             
      
      Cell cell2 = new Cell();       
      cell2.add("Raju");       
      table.addCell(cell2);                          
   
      // Populating row 2 and adding it to the table        
      Cell cell3 = new Cell();       
      cell3.add("Id");       
      table.addCell(cell3);             
      
      Cell cell4 = new Cell();       
      cell4.add("1001");       
      table.addCell(cell4);                    
   
      // Populating row 3 and adding it to the table        
      Cell cell5 = new Cell();       
      cell5.add("Designation");       
      table.addCell(cell5); 
      
      Cell cell6 = new Cell();       
      cell6.add("Programmer");       
      table.addCell(cell6);              
   
      // Creating nested table for contact         
      float [] pointColumnWidths2 = {150f, 150f};       
      Table nestedTable = new Table(pointColumnWidths2);                
      
      // Populating row 1 and adding it to the nested table        
      Cell nested1 = new Cell();       
      nested1.add("Phone");       
      nestedTable.addCell(nested1);                   
      
      Cell nested2 = new Cell();       
      nested2.add("9848022338");       
      nestedTable.addCell(nested2);                   
      
      // Populating row 2 and adding it to the nested table        
      Cell nested3 = new Cell();       
      nested3.add("email");       
      nestedTable.addCell(nested3);                    
      
      Cell nested4 = new Cell();       
      nested4.add("[email protected]");       
      nestedTable.addCell(nested4);                       
      
      // Populating row 3 and adding it to the nested table        
      Cell nested5 = new Cell();       
      nested5.add("Address");       
      nestedTable.addCell(nested5);                    
      
      Cell nested6 = new Cell();       
      nested6.add("Hyderabad");       
      nestedTable.addCell(nested6);              
      
      // Adding table to the cell       
      Cell cell7 = new Cell();       
      cell7.add("Contact");       
      table.addCell(cell7);              
      
      Cell cell8 = new Cell();       
      cell8.add(nestedTable);       
      table.addCell(cell8);
      
      // Adding table to the document       
      doc.add(table);                   
      
      // Closing the document               
      doc.close();  
      System.out.println("Nested Table Added successfully..");     
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddNestedTable.java 
java AddNestedTable

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

Nested Table Added successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить список в таблицу в PDF-документе с помощью библиотеки iText.

Добавление списков в таблицу в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктора. Затем, чтобы добавить таблицу в документ, вам нужно создать экземплярTable class и добавьте этот объект в документ, используя add() метод.

Чтобы добавить list в таблицу, вам нужно создать экземпляр List класс com.itextpdf.layout.element пакет и вставьте его в cell объект с помощью add() метод Cell класс.

Ниже приведены шаги по добавлению списка в ячейку таблицы.

Шаг 1. Создание объекта PdfWriter

В PdfWriterКласс представляет Doc Writer для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingObjects.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр PdfDocument class, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта таблицы

В TableКласс представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит к пакетуcom.itextpdf.layout.element.

Создайте экземпляр Table класс, как показано ниже.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Шаг 5: Создание ячейки

Создать cell объект путем создания экземпляра Cell класс пакета com.itextpdf.layout, как показано ниже.

// Adding cell to the table 
Cell listCell = new Cell(); // Creating a cell

Шаг 6: Создание объекта списка

После создания ячейки создайте list объект путем создания экземпляра List класс пакета com.itextpdf.layout.element. Создайте элементы списка, создав экземплярListItem class и добавьте созданные элементы с помощью add() метод List класс, как показано ниже.

List list = new List(); 
ListItem item1 = new ListItem("JavaFX"); 
ListItem item2 = new ListItem("Java"); 
ListItem item3 = new ListItem("Java Servlets");        
list.add(item1); 
list.add(item2); 
list.add(item3);

Шаг 7: Добавление списка в ячейку таблицы

Теперь добавьте созданный выше список в ячейку таблицы, используя add()метод класса Cell. И добавьте эту ячейку в таблицу, используяaddCell() метод Table класс, как показано ниже.

listCell.add(list); 
table.addCell(listCell);

Шаг 8: Добавление таблицы в документ

Добавить table объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding list to the document 
document.add(table);

Шаг 9: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить список в ячейку таблицы в документе PDF с помощью библиотеки iText. Создает PDF-документ с именемaddingObjects.pdf, добавляет к нему таблицу, вставляет список в одну из своих ячеек и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем AddingListsToTable.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.List; 
import com.itextpdf.layout.element.ListItem; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class AddingListsToTable {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter object
      String file = "C:/itextExamples/addingObjects.pdf";       
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);               
      
      // Creating a table       
      float [] pointColumnWidths = {300F, 300F};       
      Table table = new Table(pointColumnWidths);                            
      
      // Adding row 1 to the table                
      Cell c1 = new Cell();       
      c1.add("Java Related Tutorials");       
      c1.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c1);                      
      
      List list1 = new List();       
      ListItem item1 = new ListItem("JavaFX");
      ListItem item2 = new ListItem("Java");       
      ListItem item3 = new ListItem("Java Servlets");              
      list1.add(item1);       
      list1.add(item2);       
      list1.add(item3);                 
      
      Cell c2 = new Cell();       
      c2.add(list1);       
      c2.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c2);                 
      
      // Adding row 2 to the table                
      Cell c3 = new Cell();       
      c3.add("No SQL Databases");       
      c3.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c3);                     
      
      List list2 = new List();       
      list2.add(new ListItem("HBase"));       
      list2.add(new ListItem("Neo4j"));       
      list2.add(new ListItem("MongoDB"));                 
      
      Cell c4 = new Cell();       
      c4.add(list2); 
      c4.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c4);                       
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      System.out.println("Lists added to table successfully..");     
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddingListsToTable.java 
java AddingListsToTable

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

Lists added to table successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

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

Добавление изображения в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктору. Чтобы добавить изображение в PDF, создайте объект изображения, который необходимо добавить, и добавьте его, используяadd() метод Document класс.

Ниже приведены шаги по добавлению изображения в документ PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingImage.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   Document 
document = new Document(pdfDoc);

Шаг 4: Создание объекта изображения

Для создания image объект, прежде всего, создайте ImageData объект с помощью create() метод ImageDataFactoryкласс. В качестве параметра этого метода передайте строковый параметр, представляющий путь к изображению, как показано ниже.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Теперь создайте экземпляр Image класс com.itextpdf.layout.elementпакет. При создании экземпляра передайте созданный вышеImageData объект в качестве параметра его конструктора, как показано ниже.

// Creating an Image object 
Image img = new Image(data);

Шаг 5: Добавление изображения в документ

Добавьте объект изображения, созданный на предыдущем шаге, используя add() метод Document класс, как показано ниже.

// Adding image to the document 
document.add(img);

Шаг 6: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить изображение в документ PDF с помощью библиотеки iText. Создает PDF-документ с именемaddingImage.pdf, добавляет к нему изображение и сохраняет его в пути C:/itextExamples/.

Сохраните этот код в файле с именем AddingImage.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter;

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class AddingImage {      
   public static void main(String args[]) throws Exception {              
      
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);        
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdf);              
      
      // Creating an ImageData object       
      String imFile = "C:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                        
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();              
      
      System.out.println("Image added");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac AddingImage.java 
java AddingImage

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

Image added

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

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

Установка положения изображения

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы добавить изображение в PDF-файл, создайте объект изображения, который необходимо добавить, и добавьте его с помощью add() метод Documentкласс. Вы можете вставить изображение в нужное место в документе, используя методsetFixedPosition() из Image класс.

Ниже приведены шаги по установке положения изображения в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/positionOfImage.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта изображения

Чтобы создать объект изображения, прежде всего, создайте ImageData объект с помощью create() метод ImageDataFactoryкласс. В качестве параметра этого метода передайте строковый параметр, представляющий путь к изображению, как показано ниже.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Теперь создайте экземпляр Image класс com.itextpdf.layout.elementпакет. При создании экземпляра передайтеImageData объект в качестве параметра его конструктора, как показано ниже.

// Creating an Image object 
Image img = new Image(data);

Шаг 5: Установка положения изображения

Вы можете установить положение изображения в PDF-документе с помощью setFixedPosition()метод Image. С помощью этого метода установите положение изображения в координатах (100, 250) на документе, как показано ниже.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

Шаг 6: Добавление изображения в документ

Теперь добавьте объект изображения, созданный на предыдущем шаге, используя add() метод Document класс, как показано ниже.

// Adding image to the document 
document.add(img);

Шаг 7: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как установить изображение в желаемом месте в документе PDF с помощью библиотеки iText. Создает PDF-документ с именемpositionOfImage.pdf, добавляет к нему изображение, устанавливает его ближе к центру страницы и сохраняет в пути C:/itextExamples/

Сохраните этот код в файле с именем SettingPosition.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class SettingPosition {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/EXAMPLES/itextExamples/3images/positionOfImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/EXAMPLES/itextExamples/3images/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);             

      // Creating an Image object        
      Image image = new Image(data);                
      
      // Setting the position of the image to the center of the page       
      image.setFixedPosition(100, 250);                  
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();
      
      System.out.println("Image added");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды.

javac SettingPosition.java 
java SettingPosition

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

Image added

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

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

Масштабирование изображения в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы добавить изображение в PDF, создайте объект изображения, который необходимо добавить, и добавьте его, используя add() метод Documentкласс. Вы можете масштабировать изображение, используяsetAutoScale() метод.

Ниже приведены шаги по масштабированию изображения, которое существует в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/autoScale.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр PdfDocument class, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта изображения

Чтобы создать объект изображения, прежде всего, создайте ImageData объект с помощью create() метод ImageDataFactoryкласс. В качестве параметра этого метода передайте строковый параметр, представляющий путь к изображению, как показано ниже.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Теперь создайте экземпляр Image класс com.itextpdf.layout.elementпакет. При создании экземпляра передайтеImageData объект в качестве параметра его конструктора, как показано ниже.

// Creating an Image object 
Image img = new Image(data);

Шаг 5: масштабирование изображения

Вы можете масштабировать изображение, используя setAutoScale() метод.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

Шаг 6: Добавление изображения в документ

Теперь добавьте image объект, созданный на предыдущем шаге с помощью add() метод Document класс, как показано ниже.

// Adding image to the document 
document.add(img);

Шаг 7: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как масштабировать изображение в соответствии с размером документа в PDF-документе с помощью библиотеки iText. Создает PDF-документ с именемautoScale.pdf, добавляет к нему изображение, масштабирует его по размерам страницы, сохраняет в пути C:/itextExamples/.

Сохраните этот код в файле с именем SettingAutoScale.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class SettingAutoScale {      
   public static void main(String args[]) throws Exception{              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/positionOfImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                
      
      // Setting the position of the image to the center of the page       
      image.setFixedPosition(100,250); 
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();
      System.out.println("Image Scaled");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды.

javac SettingAutoScale.java 
java SettingAutoScale

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

Image Scaled

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как вставить изображение в документ PDF и как повернуть это изображение, используя функции, доступные в библиотеке iText.

Поворот изображения в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы добавить изображение в PDF, создайте объект изображения, который необходимо добавить, и добавьте его, используя add() метод Documentкласс. Вы можете повернуть изображение, используяsetRotationAngle() метод.

Ниже приведены шаги по повороту изображения в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/rotatingImage.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта изображения

Чтобы создать объект изображения, прежде всего, создайте ImageData объект с помощью create()метод ImageDataFactoryкласс. В качестве параметра этого метода передайте строковый параметр, представляющий путь к изображению, как показано ниже.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

Теперь создайте экземпляр Image класс com.itextpdf.layout.elementпакет. При создании экземпляра передайтеImageData objectв качестве параметра его конструктора, как показано ниже.

// Creating an Image object 
Image img = new Image(data);

Шаг 5: поворот изображения

Вы можете повернуть изображение, используя setRotationAngle()метод. В этот метод вам нужно передать целое число, представляющее угол поворота, на который вы хотите повернуть изображение.

// Rotating the image 
image.setRotationAngle(45);

Шаг 6: Добавление изображения в документ

Теперь добавьте объект изображения, созданный на предыдущем шаге, используя add() метод Document класс, как показано ниже.

// Adding image to the document 
document.add(img);

Шаг 7: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

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

Создает PDF-документ с именем rotatingImage.pdf, добавляет к нему изображение, поворачивает его и сохраняет в пути C:/itextExamples/.

Сохраните этот код в файле с именем RotatingImage.java.

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class RotatingImage {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/rotatingImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/itextExamples/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);              
      
      // Creating an Image object        
      Image image = new Image(data);                
      
      // Rotating the image       
      image.setRotationAngle(45);                       
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close(); 
      
      System.out.println("Image rotated");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac RotatingImage.java 
java RotatingImage

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

Image Rotated

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить текстовую аннотацию к PDF-документу с помощью библиотеки iText.

Создание текстовой аннотации в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы использовать текстовую аннотацию в вашем PDF-документе, вам необходимо создать объект PdfTextAnnotation class и добавьте его в PdfPage.

Ниже приведены шаги по использованию текстовых аннотаций в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/textAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр PdfDocument класс, передав PdfWriter объект в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект классаPdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfAnnotation

В PdfAnnotation класс пакета com.itextpdf.kernel.pdf.annot представляет собой суперкласс всех аннотаций.

Среди его производных классов PdfTextAnnotationкласс представляет текстовую аннотацию. Создайте объект этого класса, как показано ниже.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation ann = new PdfTextAnnotation(rect);

Шаг 5: Установка цвета аннотации

Установите цвет аннотации с помощью setColor() метод PdfAnnotationкласс. В этот метод передайтеcolor объект, представляющий цвет аннотации в качестве параметра.

// Setting color to the annotation 
ann.setColor(Color.GREEN);

Шаг 6: Установка заголовка и содержания аннотации

Задайте заголовок и содержание аннотации, используя setTitle() и setContents() методы PdfAnnotation class соответственно, как показано ниже.

// Setting title to the annotation 
ann.setTitle(new PdfString("Hello"));        

// Setting contents of the annotation 
ann.setContents("Hi welcome to Tutorialspoint.");

Шаг 7. Добавление аннотации на страницу

Создать новый PdfPage класс с использованием addNewPage() метод класса PdfDocument и добавьте указанную выше аннотацию с помощью addAnnotation() метод PdfPage класс, как показано ниже.

// Creating a new page PdfPage page = 
pdf.addNewPage();        

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

Шаг 8: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить текстовую аннотацию в документ PDF с помощью библиотеки iText. Создает PDF-документ с именемtextAnnotation.pdf, добавляет к нему текстовую аннотацию и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем TextAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfTextAnnotation; 
import com.itextpdf.layout.Document;  

public class TextAnnotation {    
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/textAnnotation.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document        
      Document document = new Document(pdf);             
      
      // Creating PdfTextAnnotation object
      Rectangle rect = new Rectangle(20, 800, 0, 0);       
      PdfAnnotation ann = new PdfTextAnnotation(rect);              
      
      // Setting color to the annotation
      ann.setColor(Color.GREEN);              
      
      // Setting title to the annotation 
      ann.setTitle(new PdfString("Hello"));              
      
      // Setting contents of the annotation       
      ann.setContents("Hi welcome to Tutorialspoint.");              
      
      // Creating a new page       
      PdfPage page =  pdf.addNewPage();              
      
      // Adding annotation to a page in a PDF
      page.addAnnotation(ann);

      // Closing the document       
      document.close();       
      
      System.out.println("Annotation added successfully");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды.

javac TextAnnotation.java 
java TextAnnotation

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

Annotation added successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить аннотацию ссылки в документ PDF с помощью библиотеки iText.

Создание аннотации ссылки в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы использовать текстовую аннотацию в вашем PDF-документе, вам необходимо создать объект класса PdfTextAnnotation и добавить его в PdfPage.

Ниже приведены шаги по использованию текстовых аннотаций в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр PdfWriter класс, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/linkAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав PdfWriter объект в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект классаPdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfAnnotation

В PdfAnnotation класс пакета com.itextpdf.kernel.pdf.annot представляет собой суперкласс всех аннотаций.

Среди его производных классов PdfLinkAnnotationкласс представляет аннотацию ссылки. Создайте объект этого класса, как показано ниже.

// Creating a PdfLinkAnnotation object 
Rectangle rect = new Rectangle(0, 0); 
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);

Шаг 5: Настройка действия аннотации

Установите действие для аннотации, используя setAction() метод PdfLinkAnnotation класс, как показано ниже.

// Setting action of the annotation 
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/"); 
annotation.setAction(action);

Шаг 6. Создание ссылки

Создайте ссылку, создав экземпляр Link класс пакета com.itextpdf.layout.element, как показано ниже.

// Creating a link 
Link link = new Link("Click here", annotation);

Шаг 7. Добавление аннотации ссылки к абзацу

Создайте новый абзац, создав экземпляр Paragraph class и добавьте ссылку, созданную на предыдущем шаге, используя add() метод этого класса, как показано ниже.

// Creating a paragraph 
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");        

// Adding link to paragraph 
paragraph.add(link.setUnderline());

Шаг 8: Добавление абзаца в документ

Добавьте абзац в документ, используя add() метод Document класс, как показано ниже.

// Adding paragraph to document 
document.add(paragraph);

Шаг 9: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить аннотацию ссылки в документ PDF с помощью библиотеки iText.

Создает PDF-документ с именем linkAnnotation.pdf, добавляет к ней аннотацию ссылки и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем LinkAnnotation.java.

import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.action.PdfAction; 
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Link; 
import com.itextpdf.layout.element.Paragraph;  

public class LinkAnnotation {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/linkAnnotation.pdf";       
      
      PdfWriter writer = new 
      PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               
      
      // Creating a Document
      Document document = new Document(pdf);              
      
      // Creating a PdfLinkAnnotation object       
      Rectangle rect = new Rectangle(0, 0);       
      PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);              
      
      // Setting action of the annotation       
      PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");       
      annotation.setAction(action);             
      
      // Creating a link       
      Link link = new Link("Click here", annotation);              
      
      // Creating a paragraph       
      Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");              
      
      // Adding link to paragraph       
      paragraph.add(link.setUnderline());              
      
      // Adding paragraph to document       
      document.add(paragraph);             

      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac LinkAnnotation.java 
java LinkAnnotation

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

Annotation added successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить строчную аннотацию в документ PDF с помощью библиотеки iText.

Создание аннотации к строке в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктору.

Чтобы использовать текстовую аннотацию в вашем PDF-документе, вам необходимо создать объект PdfTextAnnotation class и добавьте его в PdfPage.

Ниже приведены шаги по использованию текстовых аннотаций в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение, представляющее путь, по которому вам нужно создать PDF, в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/lineAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDFDocument в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла, обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект классаPdfDocument.

Создайте экземпляр класса Document, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfAnnotation

В PdfAnnotation класс пакета com.itextpdf.kernel.pdf.annot представляет собой суперкласс всех аннотаций.

Среди его производных классов PdfLineAnnotationкласс представляет аннотацию строки. Создайте объект этого класса, как показано ниже.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation annotation = new PdfLineAnnotation(rect);

Шаг 5: Установка цвета аннотации

Установите цвет аннотации с помощью setColor() метод PdfAnnotationкласс. В этот метод передайте объект цвета, представляющий цвет аннотации, в качестве параметра.

// Setting color to the annotation 
annotation.setColor(Color.BLUE);

Шаг 6: Установка заголовка и содержания аннотации

Задайте заголовок и содержание аннотации, используя setTitle() и setContents() методы PdfAnnotation class соответственно, как показано ниже.

// Setting title to the PdfLineAnnotation 
annotation.setTitle(new PdfString("iText"));        

// Setting contents of the PdfLineAnnotation 
annotation.setContents("Hi welcome to Tutorialspoint");

Шаг 7. Добавление аннотации на страницу

Создать новый PdfPage класс с использованием addNewPage() метод PdfDocument class и добавьте созданную выше аннотацию с помощью метода addAnnotation () класса PdfPage, как показано ниже.

// Creating a new page 
PdfPage page = pdf.addNewPage();

// Adding annotation to a page in a PDF 
page.addAnnotation(annotation);

Шаг 8: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить аннотацию строк в документ PDF с помощью библиотеки iText. Создает PDF-документ с именемlineAnnotation.pdf, добавляет к нему аннотацию строки и сохраняет ее в пути C:/itextExamples/.

Сохраните этот код в файле с именем LineAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfLineAnnotation; 
import com.itextpdf.layout.Document;  

public class LineAnnotation {
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/lineAnnotations.pdf";       
      PdfWriter writer = new PdfWriter(dest);               

      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);               

      // Creating a Document        
      Document document = new Document(pdf);              
      
      // Creating a PdfPage       
      PdfPage page = pdf.addNewPage();              

      // creating PdfLineAnnotation object       
      Rectangle rect = new Rectangle(0, 0);
      float[] floatArray  = new float[]{
         20, 790, page.getPageSize().getWidth() - 20, 790
      };
      PdfAnnotation annotation = new PdfLineAnnotation(rect, floatArray);              
      
      // Setting color of the PdfLineAnnotation       
      annotation.setColor(Color.BLUE);              
      
      // Setting title to the PdfLineAnnotation       
      annotation.setTitle(new PdfString("iText"));              
      
      // Setting contents of the PdfLineAnnotation       
      annotation.setContents("Hi welcome to Tutorialspoint");              
      
      // Adding annotation to the page       
      page.addAnnotation(annotation);               
      
      // Closing the document       
      document.close();              
      
      System.out.println("Annotation added successfully");   
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac LineAnnotation.java 
java LineAnnotation

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

Annotation added successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить аннотацию текстовой разметки в документ PDF с помощью библиотеки iText.

Создание аннотации разметки в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocumentобъект в качестве параметра его конструктора. Чтобы использовать текстовую аннотацию в вашем PDF-документе, вам необходимо создать объектPdfTextAnnotation class и добавьте его в PdfPage.

Ниже приведены шаги по использованию текстовых аннотаций в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/markupAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект классаPdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfAnnotation

В PdfAnnotation класс пакета com.itextpdf.kernel.pdf.annot представляет собой суперкласс всех аннотаций.

Среди его производных классов PdfTextMarkupAnnotationКласс представляет аннотацию текстовой разметки. Создайте объект этого класса, как показано ниже.

// Creating a PdfTextMarkupAnnotation object 
Rectangle rect = new Rectangle(105, 790, 64, 10); 
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation = PdfTextMarkupAnnotation.createHighLight(rect,floatArray);

Шаг 5: Установка цвета аннотации

Установите цвет аннотации с помощью setColor() метод PdfAnnotationкласс. В этот метод передайте объект цвета, представляющийcolor аннотации в качестве параметра.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

Шаг 6: Установка заголовка и содержания аннотации

Задайте заголовок и содержание аннотации, используя setTitle() и setContents() методы PdfAnnotation класс соответственно.

// Setting title to the annotation 
annotation.setTitle(new PdfString("Hello!"));        

// Setting contents to the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

Шаг 7. Добавление аннотации на страницу

Создать новый PdfPage класс с использованием addNewPage() метод PdfDocument class и добавьте созданную выше аннотацию, используя addAnnotation() метод класса PdfPage, как показано ниже.

// Creating a new Pdfpage 
PdfPage pdfPage = pdfDoc.addNewPage();        

// Adding annotation to a page in a PDF 
pdfPage.addAnnotation(annotation);

Шаг 8: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить аннотацию текстовой разметки к документу PDF с помощью библиотеки iText. Создает PDF-документ с именемmarkupAnnotation.pdf, добавляет к нему аннотацию текстовой разметки и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем MarkupAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfTextMarkupAnnotation;
import com.itextpdf.layout.Document;  

public class MarkupAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples/markupAnnotation.pdf";        
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                      
      
      // Creating a PdfTextMarkupAnnotation object       
      Rectangle rect = new Rectangle(105, 790, 64, 10);       
      float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
      PdfAnnotation annotation = 
         PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
      
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
      
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("Hello!"));
      
      // Setting contents to the annotation       
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
      
      // Creating a new Pdfpage
      PdfPage pdfPage = pdfDoc.addNewPage();
      
      // Adding annotation to a page in a PDF       
      pdfPage.addAnnotation(annotation);
      
      // Closing the document
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }     
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac MarkupAnnotation.java 
java MarkupAnnotation

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

Annotation added successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как добавить аннотацию круга к PDF-документу с помощью библиотеки iText.

Создание аннотации в виде круга в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы использовать текстовую аннотацию в PDF-документе, вам необходимо создать объект класса PdfTextAnnotation и добавить его в Pdfpage.

Ниже приведены шаги по использованию текстовых аннотаций в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр PdfWriter класс, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/circleAnnotation.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfAnnotation

В PdfAnnotation класс пакета com.itextpdf.kernel.pdf.annot представляет собой суперкласс всех аннотаций.

Среди его производных классов PdfCircleAnnotationкласс представляет аннотацию круга. Создайте объект этого класса, как показано ниже.

// Creating a PdfCircleAnnotation object Rectangle 
rect = new Rectangle(150, 770, 50, 50); 
PdfAnnotation annotation = new PdfCircleAnnotation(rect);

Шаг 5: Установка цвета аннотации

Установите цвет аннотации с помощью setColor() метод PdfAnnotationкласс. В этот метод передайте объект цвета, представляющий цвет аннотации, в качестве параметра.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

Шаг 6: Установка заголовка и содержания аннотации

Задайте заголовок и содержание аннотации, используя setTitle() и setContents() методы PdfAnnotation класс соответственно.

// Setting title to the annotation 
annotation.setTitle(new PdfString("circle annotation"));        

// Setting contents of the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

Шаг 7. Добавление аннотации на страницу

Создать новый PdfPage класс с использованием addNewPage() метод PdfDocument class и добавьте созданную выше аннотацию, используя addAnnotation() метод класса PdfPage, как показано ниже.

// Creating a new page 
PdfPage page = pdf.addNewPage();        

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

Шаг 8: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как добавить круговую аннотацию в документ PDF с помощью библиотеки iText. Создает PDF-документ с именемcircleAnnotation.pdf, добавляет к нему аннотацию круга и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем PdfCircleAnnotation.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.geom.Rectangle; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.annot.PdfAnnotation; 
import com.itextpdf.kernel.pdf.annot.PdfCircleAnnotation; 
import com.itextpdf.layout.Document;  

public class CircleAnnotation {    
   public static void main(String args[]) throws Exception {   
      // Creating a PdfDocument object       
      String file = "C:/itextExamples// circleAnnotation.pdf";             
      PdfDocument pdf = new PdfDocument(new PdfWriter(file));                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);                      
   
      // Creating a PdfCircleAnnotation object       
      Rectangle rect = new Rectangle(150, 770, 50, 50);       
      PdfAnnotation annotation = new PdfCircleAnnotation(rect);              
   
      // Setting color to the annotation       
      annotation.setColor(Color.YELLOW);              
   
      // Setting title to the annotation       
      annotation.setTitle(new PdfString("circle annotation"));              
   
      // Setting contents of the annotation 
      annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));             
      
      // Creating a new page        
      PdfPage page = pdf.addNewPage();              
      
      // Adding annotation to a page in a PDF       
      page.addAnnotation(annotation);                       
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Annotation added successfully");       
   }   
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac PdfCircleAnnotation.java 
java PdfCircleAnnotation

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

Annotation added successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как нарисовать дугу в документе PDF с помощью библиотеки iText.

Рисование дуги в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы нарисовать дугу в документе PdfDocument, создайте экземпляр PdfCanvas класс пакета com.itextpdf.kernel.pdf.canvas и создайте дугу, используя arc() метод этого класса.

Ниже приведены шаги, чтобы нарисовать дугу в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/drawingArc.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfCanvas

Создать новый PdfPage класс с использованием addNewPage() метод PdfDocument класс.

Создайте экземпляр PdfCanvas объект пакета com.itextpdf.kernel.pdf.canvas передавая созданный выше PdfPage объект в конструктор этого класса, как показано ниже.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Шаг 5: рисование дуги

Нарисуйте дугу с помощью arc() метод Canvas класс и заполните его, используя fill() метод, как показано ниже.

// Drawing an arc 
canvas.arc(50, 50, 300, 545, 0, 360);   

// Filling the arc 
canvas.fill();

Шаг 6: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как нарисовать дугу в документе PDF с помощью библиотеки iText.

Создает PDF-документ с именем drawingArc.pdf, рисует в нем дугу и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем DrawingArc.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingArc {
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter
      String dest = "C:/itextExamples/drawingArc.pdf";
      PdfWriter writer = new PdfWriter(dest);      

      // Creating a PdfDocument object
      PdfDocument pdfDoc = new PdfDocument(writer);

      // Creating a Document object
      Document doc = new Document(pdfDoc);

      // Creating a new page
      PdfPage pdfPage = pdfDoc.addNewPage();

      // Creating a PdfCanvas object
      PdfCanvas canvas = new PdfCanvas(pdfPage);

      // Drawing an arc
      canvas.arc(50, 50, 300, 545, 0, 360);

      // Filling the arc
      canvas.fill();              

      // Closing the document
      doc.close();
      
      System.out.println("Object drawn on pdf successfully");       
   }     
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac DrawingArc.java 
java DrawingArc

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

Object drawn on pdf successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как нарисовать линию в документе PDF с помощью библиотеки iText.

Рисование линии в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктору.

Чтобы нарисовать линию в документе Pdf, создайте экземпляр PdfCanvas класс пакета com.itextpdf.kernel.pdf.canvas и создайте линию, используя moveTo() и lineTO() методы этого класса.

Ниже приведены шаги, чтобы нарисовать линию в PDF-документе.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/drawingLine.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfCanvas

Создать новый PdfPage класс с использованием addNewPage() метод PdfDocument класс.

Создайте экземпляр PdfCanvas объект пакета com.itextpdf.kernel.pdf.canvas передавая созданный выше PdfPage объект в конструктор этого класса, как показано ниже.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Шаг 5: рисование линии

Установите начальную точку линии с помощью moveTO() метод Canvas класс, как показано ниже.

// Initial point of the line 
canvas.moveTo(100, 300);

Теперь проведите линию от этой точки до другой, используя lineTo() метод, как показано ниже.

// Drawing the line 
canvas.lineTo(500, 300);

Шаг 6: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как нарисовать линию в документе PDF с помощью библиотеки iText. Создает PDF-документ с именемdrawingLine.pdf, рисует в нем дугу и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем DrawingLine.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingLine {     
   public static void main(String args[]) throws Exception {            
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingLine.pdf";             
      PdfWriter writer = new PdfWriter(dest);           
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                
      
      // Creating a new page       
      PdfPage pdfPage = pdfDoc.addNewPage();               
      
      // Creating a PdfCanvas object       
      PdfCanvas canvas = new PdfCanvas(pdfPage);              
      
      // Initial point of the line       
      canvas.moveTo(100, 300);              
      
      // Drawing the line       
      canvas.lineTo(500, 300);           
      
      // Closing the path stroke       
      canvas.closePathStroke();              
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Object drawn on pdf successfully");             
   }     
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac DrawingLine.java 
java DrawingLine

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

Object drawn on pdf successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как нарисовать круг в документе PDF с помощью библиотеки iText.

Рисование круга на PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы нарисовать круг в документе PdfDocument, создайте экземпляр PdfCanvas класс пакета com.itextpdf.kernel.pdf.canvas и вызовите circle() метод этого класса.

Ниже приведены шаги, чтобы нарисовать круг в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/drawingCircle.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfCanvas

Создать новый PdfPage класс с использованием addNewPage() метод PdfDocumentкласс. Создайте экземплярPdfCanvas объект пакета com.itextpdf.kernel.pdf.canvas проходя мимо PdfPage объект в конструктор этого класса, как показано ниже.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Шаг 5 Установка цвета

Установите цвет круга с помощью setColor() метод Canvas класс, как показано ниже.

// Setting color to the circle 
Color color = Color.GREEN; 
canvas.setColor(color, true);

Шаг 6: рисование круга

Нарисуйте круг, вызвав circle() метод Canvas, как показано ниже.

// creating a circle 
canvas.circle(300, 400, 200);

Шаг 7: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как нарисовать круг в PDF-документе с помощью библиотеки iText. Создает PDF-документ с именемdrawingCircle.pdf, рисует в нем круг и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем DrawingCircle.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingCircle {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingCircle.pdf";           
      PdfWriter writer = new PdfWriter(dest);            
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);

      // Creating a Document object
      Document doc = new Document(pdfDoc);
      
      // Creating a new page
      PdfPage pdfPage = pdfDoc.addNewPage();
      
      // Creating a PdfCanvas object
      PdfCanvas canvas = new PdfCanvas(pdfPage);  
      
      // Setting color to the circle
      Color color = Color.GREEN;       
      canvas.setColor(color, true);              
      
      // creating a circle
      canvas.circle(300, 400, 200);
      
      // Filling the circle       
      canvas.fill();             
      
      // Closing the document 
      doc.close();  
      
      System.out.println("Object drawn on pdf successfully");
   }     
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды.

javac DrawingCircle.java 
java DrawingCircle

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

Object drawn on pdf successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

В этой главе мы увидим, как установить цвет и шрифт для текста в PDF-документе с помощью библиотеки iText.

Установка шрифта текста в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.

Чтобы добавить абзац в документ, вам нужно создать экземпляр Paragraph class и добавьте этот объект в документ, используя add()метод. Вы можете установить цвет и шрифт текста, используя методыsetFontColor() и setFont() соответственно.

Ниже приведены шаги по установке цвета и шрифта для текста в документе PDF.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/fonts.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание PDF-документа

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание класса документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр класса Document, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание текста

Создайте текст, создав экземпляр Text класс пакета com.itextpdf.layout.element как показано ниже.

// Creating text object 
Text text = new Text("Tutorialspoint");

Шаг 5: Установка шрифта и цвета текста

Создать PdfFont объект с помощью createFont() метод класса PdfFontFactory пакета com.itextpdf.kernel.font как показано ниже

// Setting font of the text PdfFont 
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);

Теперь установите шрифт для текста, используя setFont() метод Textкласс к этому методу. ПройтиPdfFont объект в качестве параметра, как показано ниже.

text1.setFont(font);

Чтобы установить цвет текста, вызовите setFontColor() метод класса Text, как показано ниже.

// Setting font color 
text.setFontColor(Color.GREEN);

Шаг 6. Добавление текста в абзац

Создать Paragraph class и добавьте созданный выше текст, используя его add() метод, как показано ниже.

// Creating Paragraph 
Paragraph paragraph = new Paragraph();  

// Adding text to the paragraph 
paragraph.add(text);

Шаг 7. Добавление абзаца в документ

Добавьте абзац в документ, используя add() метод Document класс, как показано ниже.

doc.add(paragraph1)

Шаг 8: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как установить цвет и шрифт для текста в PDF с помощью библиотеки iText. Создает PDF-документ с именемfonts.pdf, форматирует текст и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем FormatingTheText.java.

import com.itextpdf.io.font.FontConstants; 
import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.font.PdfFontFactory; 
import com.itextpdf.kernel.font.PdfFont; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Paragraph; 
import com.itextpdf.layout.element.Text;  

public class FormatingTheText {     
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/fonts.pdf";   
      PdfWriter writer = new PdfWriter(dest);             
   
      // Creating a PdfDocument object      
      PdfDocument pdf = new PdfDocument(writer);                   
   
      // Creating a Document object       
      Document doc = new Document(pdf);
   
      // Creating text object       
      Text text1 = new Text("Tutorialspoint");              
   
      // Setting font of the text       
      PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);       
      text1.setFont(font);                 
   
      // Setting font color
      text1.setFontColor(Color.GREEN);
   
      // Creating text object
      Text text2 = new Text("Simply Easy Learning");
      text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));         
      
      // Setting font color
      text2.setFontColor(Color.BLUE);
      
      // Creating Paragraph
      Paragraph paragraph1 = new Paragraph();
      
      // Adding text1 to the paragraph
      paragraph1.add(text1);
      paragraph1.add(text2);
      
      // Adding paragraphs to the document
      doc.add(paragraph1);
      doc.close();       
      
      System.out.println("Text added to pdf ..");   
   }     
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac FormatingTheText.java 
java FormatingTheText

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

Text added to pdf ..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

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

Уменьшение содержания в PDF

Ниже приведены шаги по уменьшению содержимого страницы PDF с помощью библиотеки iText.

Шаг 1. Создание объектов PdfWriter и PdfReader

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF-файл.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter object 
String dest = "C:/itextExamples/shrinking.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Чтобы прочитать данные из существующего PDF-файла, создайте PdfReader объект, как показано ниже.

// Creating a PdfReader 
String src = "C:/itextExamples/pdfWithImage.pdf"; 
PdfReader reader = new PdfReader(src);

Шаг 2: Создание объекта (ов) PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте исходный и целевой PDF-документы, передав PdfWriter и PdfReader объекты в конструкторы, как показано ниже.

// Creating a PdfDocument objects 
PdfDocument destpdf = new PdfDocument(writer);         
PdfDocument srcPdf = new PdfDocument(reader);

Шаг 3. Открытие страницы из существующего PDF-файла

Получить страницу из исходного PDF-файла с помощью getPage() метод PdfPageкласс. Используя этот объект, получите размер страницы исходного документа, как показано ниже.

// Opening a page from the existing PDF 
PdfPage origPage = srcPdf.getPage(1);       

// Getting the page size 
Rectangle orig = origPage.getPageSizeWithRotation();

Шаг 4. Уменьшение содержимого исходного PDF-файла

Используя getScaleInstance() метод AffineTransform класс, сожмите содержимое страницы исходного документа, как показано ниже.

// Shrink original page content using transformation matrix 
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(    
   page.getPageSize().getWidth()/ orig.getWidth()/2,    
   page.getPageSize().getHeight()/ orig.getHeight()/2);

Шаг 5: копирование страницы

Объединить affine transform matrix, созданную на предыдущем шаге, в матрицу canvas объект целевого PDF-документа, как показано ниже.

// Concatenating the affine transform matrix to the current matrix 
PdfCanvas canvas = new PdfCanvas(page);       
canvas.concatMatrix(transformationMatrix);

Теперь добавьте копию страницы в canvas объект целевого PDF-файла в исходный документ, как показано ниже.

// Add the object to the canvas 
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf); 
canvas.addXObject(pageCopy, 0, 0);

Шаг 6: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument, как показано ниже.

// Creating a Document   
Document document = new Document(destpdf);

Шаг 7: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как сжать содержимое страницы PDF с помощью библиотеки iText. Создает PDF-документ с именемshrinkingPDF.pdf, сжимает изображение в pdf и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем ShrinkingPDF.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 

import com.itextpdf.kernel.pdf.xobject.PdfFormXObject; 
import com.itextpdf.layout.Document;  

public class ShrinkPDF {    
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object
      String dest = "C:/itextExamples/shrinking.pdf";
      PdfWriter writer = new PdfWriter(dest);
      
      // Creating a PdfReader
      String src = "C:/itextExamples/pdfWithImage.pdf";
      PdfReader reader = new PdfReader(src);
      
      // Creating a PdfDocument objects
      PdfDocument destpdf = new PdfDocument(writer);
      PdfDocument srcPdf = new PdfDocument(reader);
         
      // Opening a page from the existing PDF 
      PdfPage origPage = srcPdf.getPage(1);
         
      // Getting the page size
      Rectangle orig = origPage.getPageSizeWithRotation();
         
      // Adding a page to destination Pdf
      PdfPage page = destpdf.addNewPage();
         
      // Scaling the image in a Pdf page     
      AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
         page.getPageSize().getWidth()/orig.getWidth()/2,
         page.getPageSize().getHeight()/ orig.getHeight()/2);
      
      // Shrink original page content using transformation matrix
      PdfCanvas canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      
      // Add the object to the canvas
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
      canvas.addXObject(pageCopy, 0, 0);
      
      // Creating a Document object
      Document doc = new Document(destpdf);
      
      // Closing the document
      doc.close();
      
      System.out.println("Table created successfully..");
   }
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac ShrinkingPDF.java 
java ShrinkingPDF

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

Table created successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.

Следующая программа на Java демонстрирует, как расположить содержимое страницы PDF по разным страницам с помощью библиотеки iText. Создает PDF-документ с именемtilingPdfPages.pdf и сохраняет его в пути C:/itextExamples/.

Сохраните этот код в файле с именем TilingPDFPages.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.PageSize; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;  

public class TilingPDFPages {      
   public static void main(String args[]) throws Exception {             
      // Creating a PdfWriter object       
      String dest = "C:/itextExamples/tilingPdfPages.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfReader       
      String src = "C:/itextExamples/pdfWithImage.pdf";       
      PdfReader reader = new PdfReader(src);        
      
      // Creating a PdfDocument objects       
      PdfDocument destpdf = new PdfDocument(writer);               
      PdfDocument srcPdf = new PdfDocument(reader);               
      
      // Opening a page from the existing PDF       
      PdfPage origPage = srcPdf.getPage(1);               
      
      // Getting the page size       
      Rectangle orig = origPage.getPageSizeWithRotation();    
      
      // Getting the size of the page       
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);  
      
      // Tile size 
      Rectangle tileSize = PageSize.A4.rotate();       
      AffineTransform transformationMatrix = 
         AffineTransform.getScaleInstance(tileSize.getWidth() / orig.getWidth() * 
         2f, tileSize.getHeight() / orig.getHeight() * 2f);              
      
      // The first tile       
      PdfPage page = 
      destpdf.addNewPage(PageSize.A4.rotate());       
      
      PdfCanvas canvas = new PdfCanvas(page);       
      canvas.concatMatrix(transformationMatrix);      
      canvas.addXObject(pageCopy, 0, -orig.getHeight() / 2f);              
      
      // The second tile       
      page = destpdf.addNewPage(PageSize.A4.rotate());       
      canvas = new PdfCanvas(page);       
      canvas.concatMatrix(transformationMatrix);        
      canvas.addXObject(pageCopy, -orig.getWidth() / 2f, -orig.getHeight() / 2f);
      
      // The third tile
      page = destpdf.addNewPage(PageSize.A4.rotate());
      canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      canvas.addXObject(pageCopy, 0, 0);    
      
      // The fourth tile
      page = destpdf.addNewPage(PageSize.A4.rotate());
      canvas = new PdfCanvas(page);
      canvas.concatMatrix(transformationMatrix);
      canvas.addXObject(pageCopy, -orig.getWidth() / 2f, 0);
      
      // closing the documents
      destpdf.close();
      srcPdf.close();
      
      System.out.println("PDF created successfully..");
   }
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac TilingPDFPages.java 
java TilingPDFPages

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

PDF created successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже -

Следующая программа на Java демонстрирует, как выполнить N-up на странице PDF с помощью библиотеки iText. Создает PDF-документ с именемnUppingPDF.pdf и сохраняет его в пути C:/itextExamples/

Сохраните этот код в файле с именем NUppingPDF.java.

import com.itextpdf.kernel.geom.AffineTransform; 
import com.itextpdf.kernel.geom.PageSize; 
import com.itextpdf.kernel.geom.Rectangle; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfReader; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;  
   
public class NUppingPDF {    
   public static void main(String args[]) throws Exception {       
      // Creating a PdfWriter object       
      String dest = "C:/itextExamples/nUppingPDF.pdf";       
      PdfWriter writer = new PdfWriter(dest);                
      
      // Creating a PdfReader       
      String src = "C:/itextExamples/pdfWithImage.pdf";       
      PdfReader reader = new PdfReader(src);        
         
      // Creating a PdfDocument objects       
      PdfDocument destpdf = new PdfDocument(writer);               
      PdfDocument srcPdf = new PdfDocument(reader);                
      
      // Opening a page from the existing PDF       
      PdfPage origPage = srcPdf.getPage(1);       
      Rectangle orig = origPage.getPageSize();       
      PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);              
      
      // N-up page       
      PageSize nUpPageSize = PageSize.A4.rotate();       
      PdfPage page = destpdf.addNewPage(nUpPageSize);       
      PdfCanvas canvas = new PdfCanvas(page);              
      
      // Scale page       
      AffineTransform transformationMatrix = AffineTransform.getScaleInstance( 
         nUpPageSize.getWidth() / orig.getWidth() / 
         2f, nUpPageSize.getHeight() / orig.getHeight() / 2f);       
      canvas.concatMatrix(transformationMatrix);              
      
      // Add pages to N-up page       
      canvas.addXObject(pageCopy, 0, orig.getHeight());       
      canvas.addXObject(pageCopy, orig.getWidth(), orig.getHeight());       
      canvas.addXObject(pageCopy, 0, 0);       
      canvas.addXObject(pageCopy, orig.getWidth(), 0);              
      
      // closing the documents       
      destpdf.close();       
      srcPdf.close();              
      
      System.out.println("PDF created successfully..");   
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac NUppingPDF.java 
java NUppingPDF

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

PDF created successfully..

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.