В этой главе мы увидим, как добавить текстовую аннотацию в документ 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-документ, как показано ниже.