Учебники

PDFBox — Добавление прямоугольников

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