В этой главе рассказывается, как создавать цветные рамки на странице документа PDF.
Создание блоков в документе PDF
Вы можете добавить прямоугольные блоки на странице PDF, используя метод addRect () класса PDPageContentStream .
Ниже приведены шаги по созданию прямоугольных фигур на странице документа PDF.
Шаг 1. Загрузка существующего PDF-документа
Загрузите существующий документ PDF, используя статический метод load () класса PDDocument . Этот метод принимает объект файла в качестве параметра, поскольку это статический метод, который можно вызвать, используя имя класса, как показано ниже.
File file = new File("path of the document") PDDocument document = PDDocument.load(file);
Шаг 2: Получение объекта страницы
Вам нужно получить объект PDPage необходимой страницы, куда вы хотите добавить прямоугольники, используя метод getPage () класса PDDocument . Для этого метода вам нужно передать индекс страницы, куда вы хотите добавить прямоугольники.
PDPage page = document.getPage(0);
Шаг 3: Подготовка потока контента
Вы можете вставлять различные типы элементов данных, используя объект класса с именем PDPageContentStream . Вам необходимо передать объект документа и объект страницы в конструктор этого класса, поэтому создайте экземпляр этого класса, передав эти два объекта, созданные на предыдущих шагах, как показано ниже.
PDPageContentStream contentStream = new PDPageContentStream(document, page);
Шаг 4: Установка негласного цвета
Вы можете установить негласный цвет для прямоугольника, используя метод setNonStrokingColor () класса PDPageContentStream . Для этого метода вам нужно передать требуемый цвет в качестве параметра, как показано ниже.
contentStream.setNonStrokingColor(Color. DARK_GRAY );
Шаг 5: Рисование прямоугольника
Нарисуйте прямоугольник с необходимыми размерами, используя метод addRect () . Для этого метода вам нужно передать размеры прямоугольника, который нужно добавить, как показано ниже.
contentStream.addRect(200, 650, 100, 100);
Шаг 6: Заполнение прямоугольника
Метод fill () класса PDPageContentStream заполняет путь между указанными измерениями требуемым цветом, как показано ниже.
contentStream.fill();
Шаг 7: Закрытие документа
Наконец закройте документ с помощью метода close () класса PDDocument, как показано ниже.
document.close();
пример
Предположим, у нас есть документ PDF с именем blankpage.pdf по пути C: \ PdfBox_Examples \, и он содержит одну пустую страницу, как показано ниже.
Этот пример демонстрирует, как создавать / вставлять прямоугольники в документе PDF. Здесь мы создадим коробку в пустом PDF. Сохраните этот код как AddRectangles.java .
import java.awt.Color; import java.io.File; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; public class ShowColorBoxes { public static void main(String args[]) throws Exception { //Loading an existing document File file = new File("C:/PdfBox_Examples/BlankPage.pdf"); PDDocument document = PDDocument. load (file); //Retrieving a page of the PDF Document PDPage page = document.getPage(0); //Instantiating the PDPageContentStream class PDPageContentStream contentStream = new PDPageContentStream(document, page); //Setting the non stroking color contentStream.setNonStrokingColor(Color.DARK_GRAY); //Drawing a rectangle contentStream.addRect(200, 650, 100, 100); //Drawing a rectangle contentStream.fill(); System.out.println("rectangle added"); //Closing the ContentStream object contentStream.close(); //Saving the document File file1 = new File("C:/PdfBox_Examples/colorbox.pdf"); document.save(file1); //Closing the document document.close(); } }
Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды.
javac AddRectangles.java java AddRectangles
После выполнения вышеуказанная программа создает прямоугольник в документе PDF, отображающий следующее изображение.
Rectangle created
Если вы проверите указанный путь и откроете сохраненный документ — colorbox.pdf , вы увидите , что в него вставлено поле, как показано ниже.