Учебники

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-документ, как показано ниже.