java使用itext将图片放到pdf模板的指定位置
java使用itext将图片放到pdf模板的指定位置
- 前面的准备步骤可以参考我的上一篇文章
- 这里直接上代码
- 这里用的图片是路径的形式,还有种情况是图片是base64的时候,这种情况就需要转一下图片格式了,具体代码如下:
前面的准备步骤可以参考我的上一篇文章
java使用itext填充pdf模板,超简单教学,有手就行
这里直接上代码
@Testpublic void testPic() throws Exception {// 模板文件路径String templatepath = "F:\\pdfWork\\2\\test9.pdf";// 生成的文件路径String targetpath = "F:\\pdfWork\\2\\test10.pdf";// 这个指的是模板中对应位置的名字String fieldname = "flag";// 图片路径String imagepath = "F:\\图片\\1.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("Font/SIMYOU.TTF", BaseFont.IDENTITY_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.scaleToFit(100, 100);// 添加图片image.setAbsolutePosition(x, y);under.addImage(image);stamper.close();reader.close();}
这里用的图片是路径的形式,还有种情况是图片是base64的时候,这种情况就需要转一下图片格式了,具体代码如下:
@Testpublic void testPic() throws Exception {// 模板文件路径String templatepath = "F:\\pdfWork\\2\\test9.pdf";// 生成的文件路径String targetpath = "F:\\pdfWork\\2\\test10.pdf";// 这个指的是模板中对应位置的名字String fieldname = "flag";// 读取模板文件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("Font/SIMYOU.TTF", BaseFont.IDENTITY_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();// 读图片//这里就是base64 的码String imgStr = ""byte [] byteArray = Base64.getDecoder().decode();Image image = Image.getInstance(byteArray);// 获取操作的页面PdfContentByte under = stamper.getOverContent(pageno);// 根据域的大小缩放图片//image.scaleToFit(signrect.getWidth(), signrect.getHeight());image.scaleToFit(100, 100);// 添加图片image.setAbsolutePosition(x, y);under.addImage(image);stamper.close();reader.close();}
java使用itext将图片放到pdf模板的指定位置相关推荐
- 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 pdf 插入图片_java实现在pdf模板的指定位置插入图片
本文实例为大家分享了java在pdf模板的指定位置插入图片的具体代码,供大家参考,具体内容如下 java操作pdf有个非常好用的库itextpdf,maven: com.itextpdf itextp ...
- java pdf 插入图片_java在pdf模板的指定位置插入图片
个人感觉pdf的操作比word舒心多了 java操作pdf有个非常好用的库itextpdf,maven: com.itextpdf itextpdf 5.5.6 com.itextpdf itext- ...
- java根据pdf模板生成指定格式的pdf文件
java根据pdf模板生成指定格式的pdf文件 一.工具准备 事先得准备好Adobe Acrobat DC,这是一款专门编辑pdf的工具,小编已经给大家准备好了. 链接:https://pan.bai ...
- python将图片插入word文件的指定位置,并转为pdf文件
1.需求说明 现需要做一份数据报告,报告中只需插入少量图片,其他部分的文字和格式不变,需要将图片插入word文件的指定位置,并最终生成一份pdf报告.注意:是基于已有word文件插入图片,不是创建wo ...
- poi操作word替换模板向指定位置添加图表
poi操作word替换模板向指定位置添加图表 首先是引入pom文件 <dependency><groupId>org.apache.poi</groupId>< ...
- FME写入Excel数据时写到模板文件指定位置
在写入Excel数据时写到模板文件指定位置 介绍 本示例对 Excel 写模块参数概述一文进行了扩展.在该示例中,您学习了如何更新模板文件指定的单元格. 使用 FME,您可以重写 RawData 工作 ...
- Java itext实现图片转pdf
一.引入pom依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf< ...
最新文章
- Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index...
- golang post get put delete 请求实例代码
- (转)C#2.0泛型--Dictionary,List用法
- Java Math的 floor,round和ceil的总结 ,java基础知识
- 牛客题霸 [丑数] C++题解/答案
- 力扣429. N 叉树的层序遍历(JavaScript)
- [译]理解Node.js事件驱动机制
- OSPF高级特性(华为设备)
- BDS Business Development Studio
- js中小数四舍五入问题
- 如何得到最后N位都是1的二进制数
- vue 官方推荐的好用的三方库
- 虹科和ELPRO推出符合GxP标准的自助式温度分布验证套装
- Hutool 导出excel并合并单元格
- ArcGIS Pro与ArcGis区别
- ADAMS中转动整个模型
- 什么是RPC?RPC好处?常用的RPC框架?
- UWP使用必应每日壁纸(二)
- EastWave应用案例:同轴线仿真
- MySQL面试:为什么用自增列作为主键
热门文章
- win10启动修复_以安全模式启动win10的4种方法,简单高效,修复电脑故障必用技巧...
- c语言将字符串按空格分割_字符串单词输入反向输出怎么搞?C语言又带着二维数组来了!...
- 楚留香手游服务器维护,【楚留香手游】4.27日游戏维护公告
- at moment的用法 the_值得收藏!初中英语10大词类详解+用法+考点, 这一篇全齐了!...
- Java通过反射访问构造方法
- java - 菲波拉契数列 兔子个数
- 中职计算机组成原理期末,计组期末复习
- 计算机系统性错误,《深入理解计算机系统-异常》
- python模块使用相对路径还是绝对路径、哪种更好_python学习的第十八天模块之包、相对搜索路径和绝对搜索路径...
- wps分享为什么要登入_[win]为什么你需要便携应用?portableapps让你得心应手.