使用Java在 PDF 文档中画线
在本文中,我们将学习如何使用Java在 PDF 文档中画一条线。为了在 PDF 中绘制线条,我们将使用 iText 库。这些是使用Java在 PDF 中绘制线条应遵循的步骤。
1. 创建一个 PdfWriter 对象
PdfWriter 类代表 PDF 的 DocWriter。此类的构造函数接受一个字符串,即要创建 PDF 的文件的路径。
// importing the PdfWriter class.
import com.itextpdf.kernel.pdf.PdfWriter;
// path where the pdf is to be created.
String path = "F:/JavaPdf/DrawLine.pdf";
PdfWriter pdfwriter = new PdfWriter(path);
2. 创建一个 PdfDocument 对象
PdfDocument 类是 iText 中表示 PDF 文档的类,要在写入模式下实例化此类,您需要将类别 PdfWriter(即上述代码中的 pdfwriter)的对象传递给其构造函数。
// Creating a PdfDocument object.
// passing PdfWriter object constructor of pdfDocument.
PdfDocument pdfdocument = new PdfDocument(pdfwriter);
3. 创建文档对象
Document 类是创建自给自足的 PDF 时的根元素。此类的构造函数之一接受 PdfDocument 类(即 pdfdocument)类型的对象。
// Creating a Document and passing pdfDocument object
Document document = new Document(pdfdocument);
4.创建一个 PdfCanvas 对象
在实例化 PdfCanvas 对象之前,我们必须创建一个新的 pdfPage 对象,因为我们需要将 pdfPage 对象传递给 PdfCanvas 类的构造函数。
// Creating a new page
PdfPage pdfPage = pdfdocument.addNewPage();
// instantiating a PdfCanvas object
PdfCanvas canvas = new PdfCanvas(pdfPage);
5.绘制线条并关闭路径笔划,文档。
使用 Canvas 类的 moveTO() 方法设置线的起点,并使用 Canvas 类的 lineTo() 方法绘制到终点。
// starting point of the line
canvas.moveTo(100, 300);
// Drawing the line till the end point.
canvas.lineTo(500, 300);
// Close the path stroke
canvas.closePathStroke();
// Close the document
document.close();
执行以下程序的依赖项:
kernel-7.1.13.jar
layout-7.1.13.jar
示例:使用Java在 PDF 文档中绘制线条的代码。
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 DrawLine {
public static void main(String args[]) throws Exception
{
try {
// path where the pdf is to be created.
String path = "F:/JavaPdf/DrawLine.pdf";
PdfWriter pdfwriter = new PdfWriter(path);
// Creating a PdfDocument object.
// passing PdfWriter object constructor of
// pdfDocument.
PdfDocument pdfdocument
= new PdfDocument(pdfwriter);
// Creating a Document and passing pdfDocument
// object
Document document = new Document(pdfdocument);
// Creating a new page
PdfPage pdfPage = pdfdocument.addNewPage();
// instantiating a PdfCanvas object
PdfCanvas canvas = new PdfCanvas(pdfPage);
// starting point of the line
canvas.moveTo(100, 500);
// Drawing the line till the end point.
canvas.lineTo(500, 500);
// close the path stroke
canvas.closePathStroke();
// Close the document
document.close();
System.out.println(
"drawn the line successfully");
}
catch (Exception e) {
System.out.println(
"Failed to draw the line due to " + e);
}
}
}
使用以下命令编译并执行程序
javac RotateImage.java
java RotateImage
输出
drawn the line successfully