iText - рисование линии

В этой главе мы увидим, как нарисовать линию в документе PDF с помощью библиотеки iText.

Рисование линии в PDF

Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктору.

Чтобы нарисовать линию в документе Pdf, создайте экземпляр PdfCanvas класс пакета com.itextpdf.kernel.pdf.canvas и создайте линию, используя moveTo() и lineTO() методы этого класса.

Ниже приведены шаги, чтобы нарисовать линию в PDF-документе.

Шаг 1. Создание объекта PdfWriter

В PdfWriterкласс представляет DocWriter для PDF. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF-файл) в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/drawingLine.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.

Создайте экземпляр класса PdfDocument, передав созданный выше объект PdfWriter в его конструктор, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта документа

В Document класс пакета com.itextpdf.layoutявляется корневым элементом при создании самодостаточного PDF-файла. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр Document class, передав объект класса PdfDocument созданный на предыдущих шагах, как показано ниже.

// Creating a Document   
Document document = new Document(pdfDoc);

Шаг 4: Создание объекта PdfCanvas

Создать новый PdfPage класс с использованием addNewPage() метод PdfDocument класс.

Создайте экземпляр PdfCanvas объект пакета com.itextpdf.kernel.pdf.canvas передавая созданный выше PdfPage объект в конструктор этого класса, как показано ниже.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Шаг 5: рисование линии

Установите начальную точку линии с помощью moveTO() метод Canvas класс, как показано ниже.

// Initial point of the line 
canvas.moveTo(100, 300);

Теперь проведите линию от этой точки до другой, используя lineTo() метод, как показано ниже.

// Drawing the line 
canvas.lineTo(500, 300);

Шаг 6: закрытие документа

Закройте документ, используя close() метод Document класс, как показано ниже.

// Closing the document 
document.close();

пример

Следующая программа на Java демонстрирует, как нарисовать линию в документе PDF с помощью библиотеки iText. Создает PDF-документ с именемdrawingLine.pdf, рисует в нем дугу и сохраняет ее в пути C:/itextExamples/

Сохраните этот код в файле с именем DrawingLine.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingLine {     
   public static void main(String args[]) throws Exception {            
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingLine.pdf";             
      PdfWriter writer = new PdfWriter(dest);           
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);                
      
      // Creating a new page       
      PdfPage pdfPage = pdfDoc.addNewPage();               
      
      // Creating a PdfCanvas object       
      PdfCanvas canvas = new PdfCanvas(pdfPage);              
      
      // Initial point of the line       
      canvas.moveTo(100, 300);              
      
      // Drawing the line       
      canvas.lineTo(500, 300);           
      
      // Closing the path stroke       
      canvas.closePathStroke();              
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Object drawn on pdf successfully");             
   }     
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:

javac DrawingLine.java 
java DrawingLine

После выполнения вышеуказанная программа создает PDF-документ, отображающий следующее сообщение.

Object drawn on pdf successfully

Если вы проверите указанный путь, вы сможете найти созданный документ PDF, как показано ниже.