当前位置:主页 > java教程 > Java PDF插入 替换 删除图像

详解Java如何实现在PDF中插入,替换或删除图像

发布:2023-03-06 08:30:01 59


给网友朋友们带来一篇相关的编程文章,网友焦姗姗根据主题投稿了本篇教程内容,涉及到Java、PDF插入、替换、删除图像、Java、PDF插入图像、Java、PDF替换图像、Java、PDF删除图像、Java PDF插入 替换 删除图像相关内容,已被339网友关注,涉猎到的知识点内容可以在下方电子书获得。

Java PDF插入 替换 删除图像

前言

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

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

代码编译环境:

IntelliJ IDEA 2018(jdk 1.8.0)

PDF Jar包:Free Spire.PDF for Java 5.1.01.引入jar包

导入方法1:

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

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

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.pdf.free</artifactId>

        <version>5.1.0</version>

    </dependency>

</dependencies>

将图像插入PDF文档

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

完整代码

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() 方法保存结果文档。

完整代码

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() 方法保存结果文档。

完整代码

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);
    }
}

效果图

到此这篇关于详解Java如何实现在PDF中插入,替换或删除图像的文章就介绍到这了,更多相关Java PDF插入 替换 删除图像内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

  • Java行为型模式中命令模式分析

    发布:2023-04-02

    在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时可以使用命令模式来进行设计


  • Java中Optional的使用指南

    Java中Optional的使用指南

    发布:2022-06-26

    给网友朋友们带来一篇关于Java的教程,这篇文章主要给大家介绍了关于Java中Optional使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • 怎样用Java实现五子棋人人对战

    发布:2020-02-18

    这篇文章主要介绍了Java编程实现五子棋人人对战代码示例,具有一定借鉴价值,需要的朋友可以参考下。


  • JavaScript时间戳与时间日期间相互转换示例代码

    发布:2020-03-21

    今天做项目遇到这样的问题,要将获取到的时间转换为时间戳,通过查阅相关资料,问题顺利解决,下面小编把具体实现代码分享到脚本之家平台,需要的朋友参考下


  • Javascript中import和require用法分析

    发布:2021-05-12

    本篇文章主要介绍了Javascript(es2016) import和require用法和区别详解,具有一定的参考价值,有兴趣的可以了解下


  • Java语言中一个字符占的字节数详解

    发布:2019-07-25

    这篇文章主要介绍了Java语言中一个字符占几个字节,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • java异常与处理机制分析

    发布:2019-08-11

    这篇文章主要介绍了java的异常与处理机制,结合实例形式分析了Java异常与处理机制的概念、原理、相关操作技巧与注意事项,并附带面试题分析供大家参考,需要的朋友可以参考下


  • 关于java网络编程基础

    发布:2020-02-28

    这篇文章主要介绍了java网络编程基础知识介绍,涉及OSI分层模型和TCP/IP分层模型的对应关系、IP地址、端口号、tcp、udp等相关内容,还是比较不错的,这里分享给大家,供需要的朋友参考。


网友讨论