Java 添加、替换、删除PDF中的图片的示例代码

 更新时间:2020年02月19日 10:41:30   作者:E-iceblue  
这篇文章主要介绍了Java 添加、替换、删除PDF中的图片,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

概述

本文介绍通过java程序向PDF文档添加图片,以及替换和删除PDF中已有的图片。另外,关于图片的操作还可参考设置PDF 图片背景、设置PDF图片水印读取PDF中的图片、将PDF保存为图片等文章。

工具:Free Spire.PDF for Java (免费版)

Jar获取及导入:官网下载,并解压将lib文件夹下的jar文件导入java程序,或者通过maven仓库下载并导入

jar导入效果:

Java代码示例

【示例1】添加图片到PDF

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

public class AddImage {
 public static void main(String[] args) {
 //创建文档
 PdfDocument pdf = new PdfDocument();

 //添加一页
 PdfPageBase page = pdf.getPages().add();

 //加载图片,并获取图片高宽
 PdfImage image = PdfImage.fromFile("fj.png");
 int width = image.getWidth()/2;
 int height = image.getHeight()/2;

 //绘制图片到PDF
 page.getCanvas().drawImage(image,50,50,width, height);

 //保存文档
 pdf.saveToFile("AddImage.pdf");
 pdf.dispose();
 }
}

图片添加效果:

【示例2】替换PDF中的图片

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImage;
public class ReplaceImage {
 public static void main(String[] args) {
 //加载PDF文档
 PdfDocument pdf = new PdfDocument();
 pdf.loadFromFile("AddImage.pdf");
 //获取第一页
 PdfPageBase page = pdf.getPages().get(0);
 //加载一张图片
 PdfImage image = PdfImage.fromFile("lh.png");
 //使用加载的图片替换第一页上的第一张图片
 page.replaceImage(0, image);
 //保存文档
 pdf.saveToFile("ReplaceImage.pdf");
 pdf.dispose();
 }
}

图片替换效果:

【示例3】删除PDF中的图片

import com.spire.pdf.*;
public class DeleteImage {
 public static void main(String[] args) {
 //创建PdfDocument对象
 PdfDocument pdf = new PdfDocument();
 //加载PDF文档
 pdf.loadFromFile("AddImage.pdf");
 //获取指定页
 PdfPageBase page = pdf.getPages().get(0);
 //删除页面上的指定图片
 page.deleteImage(0);
 //保存文档
 pdf.saveToFile("DeleteSpecificImage.pdf", FileFormat.PDF);
 pdf.dispose();
 }
}

图片删除效果:

总结

以上所述是小编给大家介绍的Java 添加、替换、删除PDF中的图片的示例代码,希望对大家有所帮助,也非常感谢大家对脚本之家网站的支持!

相关文章

  • hibernate-validator后端表单数据校验的使用示例详解

    hibernate-validator后端表单数据校验的使用示例详解

    这篇文章主要介绍了hibernate-validator后端表单数据校验的使用,hibernate-validator提供的校验方式为在类的属性上加入相应的注解来达到校验的目的,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • MybatisPlus中的多表条件排序查询

    MybatisPlus中的多表条件排序查询

    这篇文章主要介绍了MybatisPlus中的多表条件排序查询,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • java结合keytool如何实现非对称加密与解密详解

    java结合keytool如何实现非对称加密与解密详解

    这篇文章主要给大家介绍了关于java结合keytool如何实现非对称加密与解密的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面随着小编来一起学习学习吧
    2018-08-08
  • SpringBoot多controller添加URL前缀的实现方法

    SpringBoot多controller添加URL前缀的实现方法

    这篇文章主要介绍了SpringBoot多controller添加URL前缀的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • 浅谈一下Java的线程并发

    浅谈一下Java的线程并发

    大家好,本篇文章主要讲的是浅谈一下Java的线程并发,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Java日常练习题,每天进步一点点(56)

    Java日常练习题,每天进步一点点(56)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-08-08
  • Idea 快速生成方法返回值的操作

    Idea 快速生成方法返回值的操作

    这篇文章主要介绍了Idea 快速生成方法返回值的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 一文教会你如何从0到1搭建一个SpringBoot项目

    一文教会你如何从0到1搭建一个SpringBoot项目

    今天刚好学习到SpringBoot,就顺便记录一下吧,下面这篇文章主要给大家介绍了关于如何从0到1搭建一个SpringBoot项目的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • ArrayList的自动扩充机制实例解析

    ArrayList的自动扩充机制实例解析

    本文主要介绍了ArrayList的自动扩充机制,由一个题目切入主题,逐步向大家展示了ArrayList的相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 解析Java的Jackson库中Streaming API的使用

    解析Java的Jackson库中Streaming API的使用

    这篇文章主要介绍了解析Java的Jackson库中Streaming API的使用,Jackson被用于Java对象和JSON的互相转换,需要的朋友可以参考下
    2016-01-01

最新评论