📜  使用Java在 PDF 中插入图像

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

使用Java在 PDF 中插入图像

要使用Java在 PDF 中插入图像,可以使用名为 iText 的库来完成。 iText 是一个最初由 Bruno Lowagie 创建的Java库,它允许创建 PDF、阅读 PDF 和操作它们。

需要的图书馆:

  • 文本
  • slf4j(日志库)

直接从这里下载 iText jar 文件并直接从这里下载 slf4j jar 文件。要使用库,请将 jar 文件添加到系统的类路径

方法:

  1. 获取正在运行的Java程序的当前工作目录以在同一位置创建PDF文件
  2. 创建一个 PdfWriter 对象(来自 itextpdf 库),将 PDF 文件写入给定路径
  3. 创建一个空的 PdfDocument 对象
  4. 从磁盘上的图像创建 Image 对象
  5. 将图像添加到文档

执行:

Java
import java.io.*;
  
// importing itext library packages
import com.itextpdf.io.image.*;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
  
public class InsertImagePDF {
    public static void main(String[] args)
        throws IOException
    {
        String currDir = System.getProperty("user.dir");
        
        // Getting path of current working directory
        // to create the pdf file in the same directory of
        // the running java program
        String pdfPath = currDir + "/InsertImage.pdf";
        
        // Creating path for the new pdf file
        PdfWriter writer = new PdfWriter(pdfPath);
        
        // Creating PdfWriter object to write pdf file to
        // the path
        PdfDocument pdfDoc = new PdfDocument(writer);
        
        // Creating a PdfDocument object
        Document doc = new Document(pdfDoc);
        
        // Creating a Document object
        ImageData imageData = ImageDataFactory.create(
            currDir + "/image.jpg");
        
        // Creating imagedata from image on disk(from given
        // path) using ImageData object
        Image img = new Image(imageData);
        
        // Creating Image object from the imagedata
        doc.add(img);
        
        // Adding Image to the empty document
        doc.close();
        
        // Closing the document
        System.out.println(
            "Image added successfully and PDF file created!");
    }
}


程序执行后: