📜  使用Java在 PDF 文档中画线

📅  最后修改于: 2022-05-13 01:55:03.307000             🧑  作者: Mango

使用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

PDF

在 PDF 中画一条线