iText — Обзор
Portable Document Format (PDF) — это формат файла, который помогает представлять данные способом, независимым от прикладного программного обеспечения, аппаратного обеспечения и операционных систем. Каждый файл PDF содержит описание плоского документа с фиксированным макетом, включая текст, шрифты, графику и другую информацию, необходимую для его отображения.
Существует несколько библиотек для создания и управления документами PDF с помощью программ, таких как —
-
Библиотека Adobe PDF — эта библиотека предоставляет API на таких языках, как C ++, .NET и Java. Используя это, мы можем редактировать, просматривать, распечатывать и извлекать текст из документов PDF.
-
Процессор форматирования объектов — Форматер печати с открытым исходным кодом, управляемый объектами форматирования XSL и независимым форматом вывода. Основной целью вывода является PDF.
-
PDF Box — Apache PDFBox — это библиотека Java с открытым исходным кодом, которая поддерживает разработку и преобразование документов PDF. Используя эту библиотеку, вы можете разрабатывать Java-программы, которые создают, конвертируют и обрабатывают документы PDF.
-
Отчеты Jasper — это инструмент отчетов Java, который генерирует отчеты в формате PDF, включая Microsoft Excel, RTF, ODT, значения через запятую и файлы XML.
Библиотека Adobe PDF — эта библиотека предоставляет API на таких языках, как C ++, .NET и Java. Используя это, мы можем редактировать, просматривать, распечатывать и извлекать текст из документов PDF.
Процессор форматирования объектов — Форматер печати с открытым исходным кодом, управляемый объектами форматирования XSL и независимым форматом вывода. Основной целью вывода является PDF.
PDF Box — Apache PDFBox — это библиотека Java с открытым исходным кодом, которая поддерживает разработку и преобразование документов PDF. Используя эту библиотеку, вы можете разрабатывать Java-программы, которые создают, конвертируют и обрабатывают документы PDF.
Отчеты Jasper — это инструмент отчетов Java, который генерирует отчеты в формате PDF, включая Microsoft Excel, RTF, ODT, значения через запятую и файлы XML.
Что такое iText?
Подобно вышеперечисленному программному обеспечению iText — это библиотека Java PDF, с помощью которой вы можете разрабатывать программы Java, которые создают, конвертируют и обрабатывают документы PDF.
Особенности iText
Ниже приведены заметные особенности библиотеки iText —
-
Интерактивный — iText предоставляет вам классы (API) для создания интерактивных документов PDF. Используя их, вы можете создавать карты и книги.
-
Добавление закладок, номеров страниц и т. Д. — Используя iText, вы можете добавлять закладки, номера страниц и водяные знаки.
-
Разделить и объединить — Используя iText, вы можете разбить существующий PDF-файл на несколько PDF-файлов, а также добавить / объединить дополнительные страницы.
-
Заполнение форм — Используя iText, вы можете заполнять интерактивные формы в PDF-документе.
-
Сохранить как изображение — Используя iText, вы можете сохранять PDF-файлы в виде файлов изображений, таких как PNG или JPEG.
-
Canvas — библиотека iText предоставляет вам класс Canvas, с помощью которого вы можете рисовать различные геометрические фигуры в документе PDF, такие как круг, линия и т. Д.
-
Создание PDF-файлов — Используя iText, вы можете создать новый PDF-файл из ваших программ Java. Вы можете включить изображения и шрифты тоже.
Интерактивный — iText предоставляет вам классы (API) для создания интерактивных документов PDF. Используя их, вы можете создавать карты и книги.
Добавление закладок, номеров страниц и т. Д. — Используя iText, вы можете добавлять закладки, номера страниц и водяные знаки.
Разделить и объединить — Используя iText, вы можете разбить существующий PDF-файл на несколько PDF-файлов, а также добавить / объединить дополнительные страницы.
Заполнение форм — Используя iText, вы можете заполнять интерактивные формы в PDF-документе.
Сохранить как изображение — Используя iText, вы можете сохранять PDF-файлы в виде файлов изображений, таких как PNG или JPEG.
Canvas — библиотека iText предоставляет вам класс Canvas, с помощью которого вы можете рисовать различные геометрические фигуры в документе PDF, такие как круг, линия и т. Д.
Создание PDF-файлов — Используя iText, вы можете создать новый PDF-файл из ваших программ Java. Вы можете включить изображения и шрифты тоже.
IText Environment
Следуйте приведенным ниже инструкциям, чтобы настроить среду iText в Eclipse.
Шаг 1 — Установите Eclipse и откройте в нем новый проект, как показано ниже.
Шаг 2 — Создайте проект iTextSample, как показано ниже.
Шаг 3 — Щелкните правой кнопкой мыши проект и преобразуйте его в проект Maven, как показано ниже. Как только вы преобразуете его в проект Maven, он предоставит вам файл pom.xml, в котором вам нужно указать необходимые зависимости. После этого jar- файлы этих зависимостей будут автоматически загружены в ваш проект.
Шаг 4 — Теперь, в pom.xml проекта, скопируйте и вставьте следующее содержимое (зависимости для приложения iText) и обновите проект.
Использование 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 были загружены.
iText — Создание PDF-документа
Давайте теперь поймем, как создать 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
Класс PdfDocument — это класс, который представляет документ 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
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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-документ, как показано ниже.
Поскольку это пустой документ, при попытке открыть этот документ будет отображено сообщение об ошибке, как показано на следующем снимке экрана.
iText — Добавление AreaBreak
В этой главе мы увидим, как создать PDF-документ с AreaBreak, используя библиотеку iText.
Создание AreaBreak
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить areabreak в документ, вам нужно создать экземпляр класса AreaBreak и добавить этот объект в документ с помощью метода 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 — это класс, который представляет документ PDF в iText, этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав выше созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла, обработчик событий, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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 с именем добавление AreaBreak.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-документ, как показано ниже.
iText — Добавление абзаца
В этой главе мы увидим, как создать PDF-документ и добавить к нему абзац, используя библиотеку iText.
Создание абзаца
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить абзац в документ, вам нужно создать экземпляр класса Paragraph и добавить этот объект в документ с помощью метода 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-документа
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание класса Document
Класс Document пакета com.itextpdf.layout является корневым элементом. При создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document, передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта Paragraph
Класс Paragraph представляет собой автономный блок текстовой и графической информации. Он принадлежит пакету com.itextpdf.layout.element .
Создайте экземпляр класса Paragraph , передав текстовое содержимое в виде строки его конструктору, как показано ниже.
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 с именем добавление paragraph.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-документ, как показано ниже.
iText — Добавление списка
В этой главе мы увидим, как создать PDF-документ и добавить в него список с помощью библиотеки iText.
Создание списка
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить список в документ, вам нужно создать экземпляр класса List и добавить этот объект в документ с помощью метода 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 — это класс, который представляет документ PDF в iText, этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта List
Класс List представляет собой серию объектов с вертикальным контуром. Он принадлежит пакету com.itextpdf.layout.element .
Создайте экземпляр класса List, как показано ниже.
// Creating a list List list = new List();
Шаг 5: Добавление элементов в список
Добавьте содержимое в объект списка, используя метод add () класса List , передав значения String, как показано ниже.
// Add elements to the list list.add("Java"); list.add("JavaFX"); list.add("Apache Tika"); list.add("OpenCV");
Шаг 6: Добавление списка в документ
Добавьте объект списка, созданный на предыдущем шаге, с помощью метода add () класса Document , как показано ниже.
// Adding list to the document document.add(list);
Шаг 7: Закрытие документа
Закройте документ с помощью метода close () класса Document, как показано ниже.
// Closing the document document.close();
пример
Следующая Java-программа демонстрирует, как создать PDF-документ и добавить в него список с помощью библиотеки iText. Он создает PDF-документ с именем добавление. List.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-документ, как показано ниже.
iText — Добавление таблицы
В этой главе мы увидим, как создать PDF-документ и добавить в него таблицу с помощью библиотеки iText.
Добавление таблицы в PDF
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземпляр класса Table и добавить этот объект в документ с помощью метода 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument .
Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта Table
Класс Table представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит пакету com.itextpdf.layout.element .
Создайте класс Table, как показано ниже.
// Creating a table object float [] pointColumnWidths = {150F, 150F, 150F}; Table table = new Table(pointColumnWidths);
Шаг 5: Добавление ячеек в таблицу
Создайте объект ячейки, создав экземпляр класса Cell пакета com.itextpdf.layout.element . Добавьте содержимое ячейки, используя метод add () этого класса.
Наконец, чтобы добавить эту ячейку в таблицу, вызовите метод addCell () класса Table и передайте объект ячейки в качестве параметра этому методу, как показано ниже.
// 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: Добавление таблицы в документ
Добавьте объект таблицы, созданный на предыдущем шаге, используя метод add () класса Document, как показано ниже.
// Adding list to the document document.add(table);
Шаг 7: Закрытие документа
Закройте документ с помощью метода close () класса Document , как показано ниже.
// Closing the document document.close();
пример
Следующая Java-программа демонстрирует, как создать PDF-документ и добавить в него таблицу с помощью библиотеки iText. Он создает документ в формате PDF с именем добавление Table.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-документ, как показано ниже.
iText — Форматирование содержимого ячейки
В этой главе мы увидим, как создать PDF-документ, добавить таблицу и отформатировать содержимое ячейки в таблице с помощью библиотеки iText.
Форматирование ячеек в таблице
Вы можете создать пустой PDF- документ, создав экземпляр класса Document. При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземпляр класса Table и добавить этот объект в документ с помощью метода 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
Класс PdfDocument — это класс, который представляет PDFDocument в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument , передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта Table
Класс 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 // 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 и передайте объект ячейки в качестве параметра этому методу, как показано ниже.
table.addCell(c1);
Шаг 8: Добавление таблицы в документ
Добавьте объект таблицы, созданный на предыдущем шаге, используя метод add () класса Document, как показано ниже.
// Adding list to the document document.add(table);
Шаг 9: Закрытие документа
Закройте документ с помощью метода close () класса Document , как показано ниже.
// Closing the document document.close();
пример
Следующая программа на Java демонстрирует, как форматировать содержимое ячейки в таблице с помощью библиотеки iText. Он создает документ PDF с именем добавлениеBackground.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 — форматирование границ ячейки
В этой главе мы увидим, как форматировать границы ячейки в таблице с помощью библиотеки iText.
Форматирование границ ячейки
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору.
Затем, чтобы добавить таблицу в документ, вам нужно создать экземпляр класса Table и добавить этот объект в документ с помощью метода 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
Класс PdfDocument — это класс, который представляет PDFDocument в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument , передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта Table
Класс 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 и т. Д.
Конструкторы этих классов принимают два параметра: цветовой объект, представляющий цвет границы, и целое число, представляющее ширину границы.
Выберите один из этих типов границ и создайте экземпляр соответствующей границы, передав цветовой объект и целое число, представляющее ширину, как показано ниже.
Border b1 = new DashedBorder(Color.RED, 3);
Теперь установите границу ячейки, используя метод setBorder () класса ячейки . Этот метод принимает объект типа Border в качестве параметра.
Установите границу ячейки, передав выше созданный объект Border в качестве параметра методу setBorder (), как показано ниже.
c1.setBorder(b1)
Наконец, чтобы добавить эту ячейку в таблицу, вызовите метод addCell () класса Table и передайте объект ячейки в качестве параметра этому методу, как показано ниже.
table.addCell(c1);
Шаг 7: Добавление таблицы в документ
Добавьте объект таблицы, созданный на предыдущем шаге, с помощью метода add () класса Document , как показано ниже.
// Adding list to the document document.add(table);
Шаг 8: Закрытие документа
Закройте документ с помощью метода close () класса Document , как показано ниже.
// Closing the document document.close();
пример
Следующая программа на Java демонстрирует, как форматировать границу ячейки в таблице с помощью библиотеки iText. Он создает документ PDF с именем colorBorders.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-документ, как показано ниже.
iText — Добавление изображения в таблицу
В этой главе мы увидим, как добавить изображение в таблицу в документе PDF с помощью библиотеки iText.
Добавление изображения в таблицу
Вы можете создать пустой документ PDF, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземпляр класса Table и добавить этот объект в документ с помощью метода add () .
Чтобы добавить изображение в эту таблицу, необходимо создать экземпляр класса 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument , передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument .
Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта Table
Класс Table представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит пакету com.itextpdf.layout.element .
Создайте класс Table, как показано ниже.
// Creating a table float [] pointColumnWidths = {200F, 200F}; Table table = new Table(pointColumnWidths);
Шаг 5: Создание ячейки
Создайте объект ячейки, создав экземпляр класса Cell пакета com.itextpdf.layout , как показано ниже.
// Adding cell to the table Cell cell = new Cell(); // Creating a cell
Шаг 6: Создание изображения
Для создания объекта изображения , прежде всего, создайте объект 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);
Добавьте объект изображения в ячейку, используя метод add () класса ячейки, как показано ниже.
// Adding image to the cell cell.add(img.setAutoScale(true));
Шаг 7: Добавление ячейки в таблицу
Наконец, чтобы добавить эту ячейку в таблицу, вызовите метод addCell () класса Table и передайте объект ячейки в качестве параметра этому методу, как показано ниже.
table.addCell(cell);
Шаг 8: Добавление таблицы в документ
Добавьте объект таблицы, созданный на предыдущем шаге, с помощью метода add () класса Document , как показано ниже.
// Adding list to the document document.add(table);
Шаг 9: Закрытие документа
Закройте документ с помощью метода close () класса Document , как показано ниже.
// Closing the document document.close();
пример
Следующая программа на Java демонстрирует, как добавить изображение в ячейку таблицы в документе PDF с помощью библиотеки iText. Он создает документ PDF с именем добавление изображения.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-документ, как показано ниже.
iText — Вложенный Стол
В этой главе мы увидим, как добавить вложенную таблицу в таблицу в документе PDF с помощью библиотеки iText.
Добавление вложенных таблиц в PDF
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземпляр класса Table и добавить этот объект в документ с помощью метода 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта Table
Класс Table представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит пакету com.itextpdf.layout.element .
Создайте класс Table, как показано ниже.
// Creating a table float [] pointColumnWidths = {200F, 200F}; Table table = new Table(pointColumnWidths);
Шаг 5: Создание ячейки
Создайте объект ячейки, создав экземпляр класса Cell пакета com.itextpdf.layout , как показано ниже.
// Adding cell to the table Cell contact = new Cell(); // Creating a cell
Шаг 6: Создание вложенной таблицы
После создания ячейки создайте вложенную таблицу и заполните ее ячейки, как показано ниже.
// 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: Добавление таблицы в документ
Добавьте объект таблицы, созданный на предыдущем шаге, с помощью метода add () класса Document , как показано ниже.
// Adding list to the document document.add(table);
Шаг 9: Закрытие документа
Закройте документ с помощью метода close () класса Document , как показано ниже.
// Closing the document document.close();
пример
Следующая программа на Java демонстрирует, как добавить таблицу в ячейку таблицы (вложенная таблица) в документе PDF с помощью библиотеки iText. Он создает документ PDF с именем добавлениеNestedTable.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-документ, как показано ниже.
iText — Добавление списков в таблицу
В этой главе мы увидим, как добавить список в таблицу в документе PDF с помощью библиотеки iText.
Добавление списков в таблицу в PDF
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору. Затем, чтобы добавить таблицу в документ, вам нужно создать экземпляр класса Table и добавить этот объект в документ с помощью метода add () .
Чтобы добавить список в таблицу, необходимо создать экземпляр класса List пакета com.itextpdf.layout.element и вставить его в объект ячейки с помощью метода 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс относится к пакету c om.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument , передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.
// Creating a Document Document document = new Document(pdfDoc);
Шаг 4: Создание объекта Table
Класс Table представляет собой двумерную сетку, заполненную ячейками, упорядоченными по строкам и столбцам. Он принадлежит пакету com.itextpdf.layout.element .
Создайте класс Table, как показано ниже.
// Creating a table float [] pointColumnWidths = {200F, 200F}; Table table = new Table(pointColumnWidths);
Шаг 5: Создание ячейки
Создайте объект ячейки, создав экземпляр класса Cell пакета com.itextpdf.layout , как показано ниже.
// Adding cell to the table Cell listCell = new Cell(); // Creating a cell
Шаг 6: Создание объекта List
После создания ячейки создайте объект списка , создав экземпляр класса List пакета com.itextpdf.layout.element . Создайте элементы списка путем создания экземпляра класса ListItem и добавьте созданные элементы с помощью метода 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: Добавление таблицы в документ
Добавьте объект таблицы, созданный на предыдущем шаге, с помощью метода add () класса Document , как показано ниже.
// Adding list to the document document.add(table);
Шаг 9: Закрытие документа
Закройте документ с помощью метода close () класса Document , как показано ниже.
// Closing the document document.close();
пример
Следующая программа на Java демонстрирует, как добавить список в ячейку таблицы в документе PDF с помощью библиотеки iText. Он создает документ PDF с именем добавлениеObjects.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-документ, как показано ниже.
iText — Добавление изображения в 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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 с именем добавление изображения.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-документ, как показано ниже.
iText — установка положения изображения
В этой главе мы увидим, как установить положение изображения в документе 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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: Установка положения изображения
Вы можете установить положение изображения в документе PDF, используя метод ImageFixedPosition () изображения. С помощью этого метода установите положение изображения в координатах (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-документ, как показано ниже.
iText — масштабирование изображения
В этой главе мы увидим, как масштабировать изображение в документе 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument , передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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: Масштабирование изображения
Вы можете масштабировать изображение, используя метод setAutoScale () .
// 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 с именем 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-документ, как показано ниже.
iText — Поворот изображения
В этой главе мы увидим, как вставить изображение в 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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: поворот изображения
Вы можете повернуть изображение с помощью метода 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-документ с именемвращением Image.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-документ, как показано ниже.
iText — текстовая аннотация
В этой главе мы увидим, как добавить текстовую аннотацию в документ 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/textAnnotation.pdf"; PdfWriter writer = new PdfWriter(dest);
Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.
Шаг 2: Создание объекта PdfDocument
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument , передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument .
Создайте экземпляр класса Document , передав объект класса 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 . В этот метод передайте цветовой объект, представляющий цвет аннотации, в качестве параметра.
// Setting color to the annotation ann.setColor(Color.GREEN);
Шаг 6: Установка заголовка и содержания аннотации
Установите заголовок и содержимое аннотации, используя методы setTitle () и setContents () класса PdfAnnotation соответственно, как показано ниже.
// 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-документ, как показано ниже.
iText — ссылка аннотации
В этой главе мы увидим, как добавить аннотацию ссылки в документ 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument .
Создайте экземпляр класса Document , передав объект класса 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 и добавьте ссылку, созданную на предыдущем шаге, с помощью метода 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-документ, как показано ниже.
iText — Линия аннотации
В этой главе мы увидим, как добавить аннотацию строки в документ 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/lineAnnotation.pdf"; PdfWriter writer = new PdfWriter(dest);
Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.
Шаг 2: Создание объекта PdfDocument
Класс PdfDocument — это класс, который представляет PDFDocument в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла, обработчик событий, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс 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 соответственно, как показано ниже.
// 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, и добавьте созданную выше аннотацию, используя метод 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-документ, как показано ниже.
iText — аннотация разметки
В этой главе мы увидим, как добавить аннотацию текстовой разметки в документ 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/markupAnnotation.pdf"; PdfWriter writer = new PdfWriter(dest);
Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.
Шаг 2: Создание объекта PdfDocument
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument .
Создайте экземпляр класса Document , передав объект класса 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 . В этот метод передайте цветовой объект, представляющий цвет аннотации, в качестве параметра.
// 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, и добавьте созданную выше аннотацию, используя метод 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-документ, как показано ниже.
iText — Круговая аннотация
В этой главе мы увидим, как добавить круговую аннотацию в документ PDF с помощью библиотеки iText.
Создание круговой аннотации в PDF
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору.
Чтобы использовать текстовую аннотацию в вашем PDF-документе, вам нужно создать объект класса PdfTextAnnotation и добавить его на Pdf-страницу .
Ниже приведены инструкции по использованию текстовой аннотации в документе 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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, и добавьте созданную выше аннотацию, используя метод 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-документ, как показано ниже.
iText — Рисование дуги
В этой главе мы увидим, как нарисовать дугу в документе 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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-документ, как показано ниже.
iText — рисование линии
В этой главе мы увидим, как нарисовать линию в документе PDF с помощью библиотеки iText.
Рисование линии в PDF
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору.
Чтобы нарисовать линию в PdfDocument Создайте экземпляр класса 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав выше созданный объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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-документ, как показано ниже.
iText — Рисование круга
В этой главе мы увидим, как нарисовать круг в 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
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание объекта Document
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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-документ, как показано ниже.
iText — Настройка шрифта
В этой главе мы увидим, как установить цвет и шрифт для текста в документе PDF с помощью библиотеки iText.
Настройка шрифта текста в PDF
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору.
Чтобы добавить абзац в документ, вам нужно создать экземпляр класса Paragraph и добавить этот объект в документ с помощью метода 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-документа
Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание класса Document
Класс 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 и добавьте созданный выше текст, используя метод 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-документ, как показано ниже.
iText — сокращение контента
В этой главе мы увидим, как масштабировать изображение в документе 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
Класс PdfDocument — это класс, который представляет документ 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: Копирование страницы
Объедините матрицу аффинного преобразования , созданную на предыдущем шаге, с матрицей объекта 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
Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.
Создайте экземпляр класса Document , передав объект класса 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-документ, как показано ниже.
iText — Черепичные 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-документ, как показано ниже —
iText — N-up
Следующая программа на 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-документ, как показано ниже.