Java 添加、替换、删除PDF中的图片的示例代码
作者:E-iceblue 发布时间:2023-08-28 09:06:26
标签: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中的图片的示例代码网站的支持!
来源:https://www.cnblogs.com/Yesi/archive/2020/02/14/12307458.html
0
投稿
猜你喜欢
- 简介同步容器主要分两类,一种是Vector这样的普通类,一种是通过Collections的工厂方法创建的内部类虽然很多人都对同步容器的性能低
- 经过很多查看在巨人的肩膀上写完这篇博客,如有雷同纯属巧合,虽然自己也查了些文章才总结的,但是站在巨人肩膀上不敢搞原创!学习使用一些插件,可以
- 最近开发了比较多的接口,因为没有可参考的案例,所以一开始一直按照我的理解进行开发。开发多了发现自己每个结果都写了相同的代码:try() {}
- 本节作为主要讲解Spring Data的环境搭建JPA Spring Data :致力于减少数据访问层(DAO)的开发量。开发者唯一要做的就
- 目录1、this代表了()的对象引用,super表示的是当前对象的()对象?2、输出内容是:3、下面程序的输出是:()4、执行下列代码的输出
- 本文实例为大家分享了java实现人员信息管理系统的具体代码,供大家参考,具体内容如下实现增删改查.java入门的练手小程序1.Person类
- java 数据类型:在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型)。基本数据类型不是对象,不能调用toS
- Java7引入了Fork Join的概念,来更好的支持并行运算。顾名思义,Fork Join类似与流程语言的分支,合并的概念。也就是说Jav
- 循环例子:while循环和do…while循环whlie(条件语句) {循环体}//先进行条件语句的判断,再进行循环体do {循环体}whl
- 本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下:一般对于web应用开发人员来说对Json字符串都会很熟悉
- 我们都知道mybatis在进行参数判断的时候,直接可以用<if test=""></if> 就可
- 对 Debug 的好奇初学 Java 时,我对 IDEA 的 Debug 非常好奇,不止是它能查看断点的上下文环境,更神奇的是我可以在断点处
- 详解HDFS多文件Join操作的实例最近在做HDFS文件处理之时,遇到了多文件Join操作,其中包括:All Join以及常用的Left J
- 接口:Writerablepackage com.geoway.pad.common; import java.io.DataInput;
- 本文实例讲述了java实现新浪微博Oauth接口发送图片和文字的方法。分享给大家供大家参考。具体如下:基于网上很多人利用新浪api开发新浪微
- springboot集成mybatis plus和dynamic-datasource注意事项环境spring-boot-starter-p
- 一:引入依赖包<!-- https://mvnrepository.com/artifact/org.springframework.
- 目录写在前面引入guava依赖包怎么做变量转换写在前面有时候需要处理对象属性的getter、setter方法,或者将属性与数据表字段进行相互
- 1. 前言Spring提供了xml、注解、JavaConfig多种方式来配置bean,不论何种方式,Spring最终都会将bean封装成Be
- 一、前言canal:阿里巴巴 MySQL binlog 增量订阅&消费组件https://github.com/alibaba/ca