使用Java在 PDF 中插入图像
要使用Java在 PDF 中插入图像,可以使用名为 iText 的库来完成。 iText 是一个最初由 Bruno Lowagie 创建的Java库,它允许创建 PDF、阅读 PDF 和操作它们。
需要的图书馆:
- 文本
- slf4j(日志库)
直接从这里下载 iText jar 文件并直接从这里下载 slf4j jar 文件。要使用库,请将 jar 文件添加到系统的类路径
方法:
- 获取正在运行的Java程序的当前工作目录以在同一位置创建PDF文件
- 创建一个 PdfWriter 对象(来自 itextpdf 库),将 PDF 文件写入给定路径
- 创建一个空的 PdfDocument 对象
- 从磁盘上的图像创建 Image 对象
- 将图像添加到文档
执行:
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!");
}
}
程序执行后: