java pdf 插入图片_java在pdf模板的指定位置插入图片
个人感觉pdf的操作比word舒心多了
java操作pdf有个非常好用的库itextpdf,maven:
com.itextpdf
itextpdf
5.5.6
com.itextpdf
itext-asian
5.2.0
思路:
Adobe的Acrobat可以对pdf进行编辑,在文档中插入域,这个插入的域就是图片的位置。这儿有关于域的介绍,但是这不重要,我们只是把域作为一个占位符用;
利用itextpdf得到目标域所在的页面、位置、大小;
利用域的坐标,把图片以绝对位置的方式插入到pdf中。
代码
public static void main(String[] args) throws Exception {
// 模板文件路径
String templatePath = "template.pdf";
// 生成的文件路径
String targetPath = "target.pdf";
// 书签名
String fieldName = "field";
// 图片路径
String imagePath = "image.jpg";
// 读取模板文件
InputStream input = new FileInputStream(new File(templatePath));
PdfReader reader = new PdfReader(input);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(targetPath));
// 提取pdf中的表单
AcroFields form = stamper.getAcroFields();
form.addSubstitutionFont(BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED));
// 通过域名获取所在页和坐标,左下角为起点
int pageNo = form.getFieldPositions(fieldName).get(0).page;
Rectangle signRect = form.getFieldPositions(fieldName).get(0).position;
float x = signRect.getLeft();
float y = signRect.getBottom();
// 读图片
Image image = Image.getInstance(imagePath);
// 获取操作的页面
PdfContentByte under = stamper.getOverContent(pageNo);
// 根据域的大小缩放图片
image.scaleToFit(signRect.getWidth(), signRect.getHeight());
// 添加图片
image.setAbsolutePosition(x, y);
under.addImage(image);
stamper.close();
reader.close();
}
参考
java pdf 插入图片_java在pdf模板的指定位置插入图片相关推荐
- java pdf添加图片_java实现在pdf模板的指定位置插入图片
本文实例为大家分享了java在pdf模板的指定位置插入图片的具体代码,供大家参考,具体内容如下 java操作pdf有个非常好用的库itextpdf,maven: com.itextpdf itextp ...
- java pdf 插入图片_java实现在pdf模板的指定位置插入图片
本文实例为大家分享了java在pdf模板的指定位置插入图片的具体代码,供大家参考,具体内容如下 java操作pdf有个非常好用的库itextpdf,maven: com.itextpdf itextp ...
- java pdf域插入img_java实现在pdf模板的指定位置插入图片
本文实例为大家分享了java在pdf模板的指定位置插入图片的具体代码,供大家参考,具体内容如下 java操作pdf有个非常好用的库itextpdf,maven: com.itextpdf itextp ...
- java如何接受字符_java中string怎么获取指定位置的字符
//截取#之前的字符串String str = "sdfs#d";str.substring(0, str.indexOf("#"));// 输出的结果为:sd ...
- php数组中插入数值,php中如何在数组指定位置插入数据单元
方法: 使用array_splice()函数. 语法格式:array_splice(array,offset,length,array) 参数: array:必需.规定数组. offset:必需.数值 ...
- poi在指定位置插入图片,图片可以浮动内容上方下方
在使用poi操作docx模板文件时,总会出现需要插入类似印章签名的图片.poi直接插入图片是插入内嵌图片 这个图片是占位置的. 会撑高当前的那一行类似效果 行使得制作出来的word样式辣眼睛. 一般印 ...
- java使用itext将图片放到pdf模板的指定位置
java使用itext将图片放到pdf模板的指定位置 前面的准备步骤可以参考我的上一篇文章 这里直接上代码 这里用的图片是路径的形式,还有种情况是图片是base64的时候,这种情况就需要转一下图片格式 ...
- 使用Itext操作PDF,修改文本内容及指定位置插入图片
参考博客:修改文本的 参考博客:插入图片的 这里基于修改文本的博客编写的,主要解决了几个问题: 1.文件乱码 2.设置区域背景色 3.设置文字字体颜色 4.插入图片空指针 5.指定位置插入偏移 等等问 ...
- java word添加图片_Java 替换word文档文字并指定位置插入图片
先说下 需要的依赖包 org.apache.poi poi-excelant 3.12 org.apache.poi poi-scratchpad 3.12 org.apache.poi poi-oo ...
最新文章
- 【文末送5本书】与「韦神」齐名,35岁刁晗生任教清华!18岁一战成名,数学界颜值巅峰...
- Codeforces Gym 100523E E - Gophers SET
- Pytorch搭建Faster R-CNN目标检测平台
- 一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本
- 使用DeviceOne实现微信小程序功能
- Swagger-概述
- php上传原生代码,腾讯云cos-php-sdk-v5的原生代码上传方式
- java项目设计_java项目设计
- python 高级语言特性_Pytohon学习笔记(一)Python编程语言历史及特性
- eclipse java混淆打包_Android Studio和eclipse混淆打包总结
- iPhone降价都救不回销量?苹果仍需努力!
- matlab与水库调度,蛙跳算法优化水库调度,全局迭代中最优解未更新
- 什么是Web Service
- mysql所选路径已经存在_5分钟安装好MySQL数据库(建议收藏)
- Microsoft.NET离线运行库合集
- vim学习笔记-tags用法
- Oracle调优总结
- NOIP 陶陶摘苹果
- 再谈Revit二次开发的可靠性和前景
- vscode切换中英文