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, как показано ниже.