如何通过Java代码在PDF中插入、替换或删除图像?

2023-01-05 17:33:10 来源:51CTO博客

图文并茂的内容往往让人看起来更加舒服,如果只是文字内容的累加,往往会使读者产生视觉疲劳。搭配精美的文章配图则会使文章内容更加丰富,增加文章可读性的同时,也能提升用户体验。但由于PDF文档安全性较高,不易对其进行修改编辑,那我们要如何在PDF中插入、替换或删除图像呢?别担心,今天为大家介绍一种高效便捷的方法。我们可以通过编程的方式来实现此操作。


(资料图)

将图像插入PDF文档替换PDF文档中的图像删除PDF文档中的指定图像

代码编译环境:

IntelliJIDEA 2018(jdk 1.8.0)

PDFJar包:​​FreeSpire.PDF for Java 5.1.0​​

1.引入jar包

导入方法1:

手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

导入方法2:如果您想通过 ​​​​Maven​​​​安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

                    com.e-iceblue            https://repo.e-iceblue.cn/repository/maven-public/                        e-iceblue        spire.pdf.free        5.1.0    

将图像插入PDF文档

初始化 PdfDocument 类的实例。使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。使用 PdfDocument.getPages().get() 方法在 PDF 文档中获取所需的页面。使用 PdfImage.fromFile() 方法加载图像。指定页面上图像区域的宽度和高度。指定 X 和 Y 坐标以开始绘制图像。使用 PdfPageBase.getCanvas().drawImage() 方法在页面上绘制图像。使用 PdfDocument.saveToFile() 方法保存结果文档。

完整代码

Java

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.graphics.*;public class AddImage {    public static void main(String []args){        //初始化 PdfDocument 类的实例        PdfDocument pdf = new PdfDocument();        pdf.loadFromFile("阿拉斯加犬.pdf");        //获取所需的页面        PdfPageBase page = pdf.getPages().get(0);        //加载图像        PdfImage image = PdfImage.fromFile("图片1.jpg");        //指定页面上图像区域的宽度和高度        float width = image.getWidth() * 0.30f;        float height = image.getHeight() * 0.30f;        //指定 X 和 Y 坐标以开始绘制图像        float x = 130f;        float y = 240f;        //在页面指定位置上绘制图像        page.getCanvas().drawImage(image, x, y, width, height);        //保存结果文档        pdf.saveToFile("插入图片.pdf", FileFormat.PDF);    }}

效果图

替换PDF文档中的图像

以下是替换PDF文档图像的具体步骤:

初始化 PdfDocument 类的实例。使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。使用 PdfDocument.getPages().get() 方法在 PDF 文档中获取所需的页面。使用 PdfImage.fromFile() 方法加载图像。使用 PdfPageBase.replaceImage() 方法将页面上的特定图像替换为加载的图像。使用 PdfDocument.saveToFile() 方法保存结果文档。

完整代码

Java

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.graphics.PdfImage;public class ReplaceImage {    public static void main(String []args){        //初始化 PdfDocument 类的实例        PdfDocument doc = new PdfDocument();        //加载 PDF 文档        doc.loadFromFile("插入图片.pdf");        //获取所需的页面        PdfPageBase page = doc.getPages().get(0);        //加载图像        PdfImage image = PdfImage.fromFile("图片2.jpg");        //将页面上的指定图像替换为加载的图像        page.replaceImage(0, image);        //保存结果文档        doc.saveToFile("替换图片.pdf", FileFormat.PDF);    }}

效果图

删除PDF文档中的指定图像

以下是从 PDF 文档中删除图像的具体步骤:

初始化 PdfDocument 类的实例。使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。使用 PdfDocument.getPages().get() 方法在 PDF 文档中获取所需的页面。使用 PdfPageBase.deleteImage() 方法删除页面上的特定图像。使用 PdfDocument.saveToFile() 方法保存结果文档。

完整代码

Java

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;public class DeleteImage {    public static void main(String []args){        //初始化 PdfDocument 类的实例        PdfDocument pdf = new PdfDocument();        //加载 PDF 文档        pdf.loadFromFile("插入图片.pdf");        //获取所需的页面        PdfPageBase page = pdf.getPages().get(0);        //删除页面上的指定图像        page.deleteImage(0);        //保存结果文档        pdf.saveToFile("删除图片.pdf", FileFormat.PDF);    }}

效果图

—本文完—

标签: 插入图片

上一篇:第二十五章《图书管理系统》第1节:图书管理系统简介
下一篇:世界今热点:基于云基础设施快速部署 RocketMQ 5.0 集群