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