📜  使用Java设置PDF文档中图像的位置

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

使用Java设置PDF文档中图像的位置

要使用Java在 PDF 文档中设置图像的位置,需要先下载多个外部依赖项。在 PDF 中设置图像的位置,使用 iText 库。这些是使用Java在 PDF 中设置图像位置应遵循的步骤。

1. 创建 PdfWriter 对象: PdfWriter 类代表 PDF 的 DocWriter。此类的构造函数接受一个字符串,即要创建 PDF 的文件的路径。

2.创建一个PdfDocument对象: PdfDocument类是iText中代表PDF文档的类,要在write模式下实例化这个类,需要传递一个PdfWriter类的对象(即上面代码中的pdfwriter)给它的构造函数。

3. 创建 Document 对象: Document 类是创建自给自足的 PDF 时的根元素。此类的构造函数之一接受类 PdfDocument(即 pdfdocument)的对象。

4.创建一个Image对象:我们需要image对象来管理图片。为了创建一个图像对象,我们需要创建一个 ImageData 对象。我们可以绕过表示图像路径的字符串参数来创建它,以使用 ImageDataFactory 类的 create() 方法。现在我们可以通过将 ImageData 对象作为参数传递给 Image 类的构造函数来创建一个图像对象。
5.设置图片的位置:我们将使用Image的setFixedPosition()方法来设置图片在PDF文档中的位置。我们将所需的位置坐标传递给 setFixedPosition() 方法。

6.向Pdf Document添加图片:使用Document类的add()方法添加图片对象,使用Document类的close()方法关闭文档。
以下是执行程序所需的依赖项:

io-7.1.13.jar
kernel-7.1.13.jar
layout-7.1.13.jar

下面是上述方法的实现:

Java
// Setting the Position of the Image
// in PDF Document using Java
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
 
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
 
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
 
public class SetImagePosition {
    public static void main(String args[]) throws Exception
    {
        try {
            // path where the pdf is to be created.
            String path = "F:/JavaPdf/setImagePosition.pdf";
            PdfWriter pdfwriter = new PdfWriter(path);
 
            // Creating a PdfDocument object.
            // passing PdfWriter object constructor
            PdfDocument pdfdocument
                = new PdfDocument(pdfwriter);
 
            // Creating a Document and
            // passing pdfDocument object
            Document document = new Document(pdfdocument);
 
            // Create an ImageData object
            String imageFile = "F:/JavaPdf/image.png";
            ImageData data
                = ImageDataFactory.create(imageFile);
            // Creating an Image object
            Image image = new Image(data);
 
            // Set the position of the image.
            image.setFixedPosition(200, 300);
 
            // Adding image to the document
            document.add(image);
            // Closing the document
            document.close();
 
            System.out.println(
                "Image  position set successfully in pdf");
        }
        catch (Exception e) {
            System.out.println(
                "unable to set image position due to " + e);
        }
    }
}



输出:

Image  position set successfully in pdf

PDF: