Java 填充 PDF 模版

JAVA根据模板填充,生成PDF文件 项目场景: 需求:根据客户模板,生成对应PDF文件。 例如:客户的doc模板文件: 最终效果展示: 话不多说,上操作: 1.引入pdf相关的依赖 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> </dependency> <! 阅读详情

制作 PDF 模版

  • 安装 OnlyOffice
    从 OnlyOffice 官网下载 OnlyOffice Desktop,安装过程很简单,一路下一步即可。
  • 用 OnlyOffice 制作 PDF 模版(表单)
    使用 OnlyOffice 表单设计器,制作表单,如下图
    在这里插入图片描述
    注意命名各个输入框的 formKey,后面 Java 代码需要依据这个 formKey 去填写表单
    在这里插入图片描述

使用 Java 填写 PDF 模版

  • 添加 maven 依赖,主要使用到的是 itextpdf
		<dependency>
		    <groupId>com.itextpdf</groupId>
		    <artifactId>itext7-core</artifactId>
		    <version>9.1.0</version>
		    <type>pom</type>
		</dependency>
		<dependency>
		    <groupId>com.itextpdf</groupId>
		    <artifactId>forms</artifactId>
		    <version>9.1.0</version>
		</dependency>
  • Java 填写 PDF 表单实现的 demo
    public static void fillTemplate(String templatePath, String outputPath, Map<String, String> data) {
        try {
            PdfDocument pdfDoc = new PdfDocument(new PdfReader(templatePath), new PdfWriter(outputPath));

            // 获取 PDF 表单
            PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc, true);

            PdfFont font = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H");
            form.getField("userName").setValue("李元霸",font,14);
            form.getField("addr").setValue("XX路XX號",font,14);
            form.getField("tel").setValue("18*******",font,14);
            form.getField("longText").setValue("不同操作系统支持的字体名称可能不同,",font,14);
            form.flattenFields(); // 把form 域去掉,这样生成新的 pdf 就不可以编辑了
            // 保存并关闭 PDF 文档
            pdfDoc.close();

            System.out.println("PDF 表单填写完成,输出文件: " + outputPath);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

几个注意点:
(1)中文问题。如果没有设置字体,会导致中文不显示。需要确保字体文件在程序运行的机器上是存在的。

PdfFont font = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H");

(2)如果你希望生成新的 pdf 不要有输入框,那么需要调用

form.flattenFields();

(3)itextpdf 依赖包尽量用最新版本

【Java】制作pdf模板使用后端程序填充字段生成pdf或者图片 pdf模板填充内容生成pdf或图片 阅读详情

相关推荐

JAVA使用itextPdf将数据填入PDF模版文件的方式打印PDF文件

对于前端来讲,再重新排版布局,可就太折磨人了,而且像这种需求,我们还会经常接到,所以就考虑,有没有一种方式,在已经有打印模版的情况下,如何能快速地实现这个需求,经过查找,发现使用itexPdf可以往PDF模版中放入数据,word文件可以很轻易地转换为pdf文件,所以经过一番探索,自己写了一个PDF打印工具类。能把大部分的横线 和选择项勾选出来,上图点击左侧的管理表单控件,能把识别到的表单项识别出来。这里把它的名称改一改,这里可以改字体大小,字体颜色,控件的位置,是否换行等,可以自己摸索。

东南_bit的博客 2334

java使用itext填充pdf模板,超简单教学,有手就行

java使用itext填充pdf模板1、先去建一个Word文件,设置好想要填充的地方,留好位置,设置好下划线2、将Word另存为pdf3、打开电脑中的Adobe Acrobat pro DC(这个应该win10 都有,搜索一下就出来了),点击 文件→创建→创建表单4、然后导入刚刚生成的pdf会出来这个页面双击这个阴影部分,将名称改成你要设置的名称,后面要根据这个名称来给他赋值全部设置好以后就可以另存为了5、前期的pdf模板准备好了,就开始上代码!1、首先导入我们所需要的依赖 1、先去建一个Word文件,设

叫我泪下的博客 2万+

Java中读取Word模板填充数据生成PDF文件

结合的方法来实现,或者使用专门的转换服务API。这些方法通常涉及到将Word文档转换为PDF的中间格式,如HTML,然后再进行转换。你可能需要使用其他工具或服务来实现这一步骤,或者将Word文档转换为HTML,然后再使用。要在Java中读取Word模板,查询数据填充,然后生成PDF文件,你可以使用。库读取Word模板文件,并使用数据模型填充模板中的占位符。请注意,上述代码中的Word到PDF转换部分是伪代码,因为。:将填充后的数据写入一个新的Word文档。库将生成的Word文档转换为PDF格式。

weixin_73060959的博客 1165

Java使用pdf模板生成pdf文件

有时候,业务中我们需要使用pdf模板生成一份pdf文件。如何生成pdf文件?如下,我们把左侧的模板生成为右侧的填充文件。

不积跬步,无以至千里 2万+

java之数据填充PDF模板

1、既然要使用PDF模板填充,那么就需要制作PDF模板,可以使用Adobe Acrobat DC,下载地址:https://carrot.ctfile.com/dir/11269771-27158812-194d66/29433907/(使用特别破解版),安装步骤就省略了。 2、开始制作模板   a)使用wps制作一个表格,并转为PDF文件保存  b)使用Adobe Acrobat DC打开保存的PDF文件,然后搜索 "准备表单" ,点击 ”准备表单“,然后出来表单域 3、程序部分 a).

技术分享 3727

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

头歌操作系统 课后作业4.3:段页式内存管理 答案 无解析

kercii的博客 7335

java:pdf模版填充表单踩坑记录(itextPdf、openPdf、pdfbox)

java:pdf模版填充表单踩坑记录(itextPdf、openPdf、pdfbox)

wwwwwyaaa的博客 3867

2025_NIPS_Better Tokens for Better 3D: Advancing Vision-Language Modeling in 3D Medical Imaging

近年来,3D医学成像领域的视觉语言建模取得了显著进展,这得益于大规模带配对自由文本报告的计算机断层扫描(CT)语料库、更强大的架构以及高性能预训练模型。这些进展推动了自动报告生成和文本条件3D图像合成等应用的发展。然而,现有方法在处理高分辨率、长序列体积数据时仍面临挑战:对比预训练往往导致视觉编码器与临床语言错位,而基于切片的令牌化会模糊精细解剖结构,降低下游任务的诊断性能。

c_cpp_csharp的专栏 90

Java填充word配置模版并将word转pdf

首先准备word模版配置信息,如下图所示。根据word模版内容填充数据代码内容如下。pom.xml需要引入以下jar包。outPath:pdf文件输出路径。inPath:word文件路径。WordUtil代码内容。Word转pdf的代码。

weixin_43968720的博客 960

23、电生理与CSD分析:探索大脑活动的前沿技术

本文介绍了电生理与电流源密度(CSD)分析在探索大脑活动中的前沿应用。从电生理技术的发展现状,到局部场电位(LFPs)的起源与解释,重点阐述了CSD分析的原理、实验方法及其在绘制皮层兴奋流、解析突触输入和研究自发振荡中的广泛应用。文章还总结了该领域的优势与挑战,并展望了技术改进、多模态融合、数据分析创新及临床拓展的未来方向,展示了这些技术在揭示大脑功能机制中的关键作用。

Apple的专栏 119

YOLOv11改进策略【Conv和Transformer】| IJCAI 2024 利用FreqFormer中的SFA 空间 - 频率注意力和CTA 通道转置注意力 二次改进C3k2

在FreqFormer模型中,SFA(Spatial-Frequency Attention)和CTA(Channel Transposed Attention)模块是关键组成部分,它们针对传统Transformer在图像超分辨率任务中的不足而设计,旨在更好地恢复高频细节,提升模型性能。

Limiiiing的博客 756

Java将数据填充到HTML模版,转为PDF

在resources-template牡目录下创建weekNewspaper.ftl文件。

gaojie12的博客 1092

Unreal Engine Profiler:动画系统性能分析教程_2024-07-23_03-05-38.Tex

Unreal Engine Profiler 是一个内置的性能分析工具,它可以帮助开发者识别和解决游戏中的性能瓶颈。Profiler 提供了详细的性能数据,包括 CPU 使用率、GPU 负载、内存使用情况等,特别针对动画系统,可以查看动画蓝图的执行时间、骨骼动画的计算成本、以及动画混合和重定向的效率。通过这些数据,开发者可以定位到具体的问题,比如哪些动画状态消耗了过多的 CPU 时间,或者哪些动画资源导致了内存泄漏。

823

java pdf模版的遍历_java使用itext操作填充pdf模板

一、先创建pdf模板1.先用word做出界面image.png2.再转换成pdf格式image.pngimage.png3.用Adobe Acrobat 打开你刚刚用word转换成的pdfimage.png会出现如下界面image.png下一步image.png点击浏览,选择刚才你转换好的pdfimage.png下一步4.打开后它会自动侦测并命名表单域,右键表单域,点击属性,出现文本域属性对话框,...

weixin_34409887的博客 1211

Vue3 - 手机移动端H5网页强力解决弹起软键盘后页面被挤压变形或页面整体上移问题,点击input输入框键盘弹出底部被上推往上顶遮挡及各种问题(兼容安卓苹果ios手机,微信公众号网页微信内置浏览器)

vue3,h5网页,input输入框组件,vue3 h5软键盘弹出,vue3输入框,键盘弹起时页面整体上移问题,uni,H5页面,解决软键盘弹起页面被挤压、被往顶的问题,解决vue3输入框,键盘弹起时页面整体上移问题,vue3调用手机系统软键盘,页面窗口被顶起,布局定位失效,解决VUE3软键盘弹起导致页面fixed定位元素被顶上去,输入法软键盘弹起,窗口顶起,变形解决办法,Vue中input组件在IOS设备上弹出软键盘时页面整体上移问题的解决方案,以及input组件聚焦后弹出软键盘固定在,Vue3软键盘把界

🏆 前端领域优质创作者 1万+

《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)

无损剪枝模型到几百kb~

cv君的博客 3万+

itext 动态的填充pdf

iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 下面简单的整理几个操作pdf相关实例。 1.PDF模版填充 首先需要有一个pdf文件作为模版,可以用如adobe acrobat等工具,添加几个文本域在pdf中,下面就是模...

lwang_IT的博客 3024

virtuoso如何导出def?

在DEF Out界面,填写def name,library name以及cell name ,cell view既layout,把Output "Floating Shapes" into SPECIAL NETS Section勾上,OK即可。2)在要导出的layout界面选中PAD和prBoundary(shift+左键),快捷键C copy到空cell里,这时需要调整copy过来的object坐标,让两边prBoundary的坐标相同。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 2304

PDF模版制作以及用iText生成PDF

最近有个需求,下载PDF类型的文件,故需要实现如下功能: 1、制作PDF模版 2、使用iText下载pdf 制作pdf模版,我是下载的Adobe Acrobat Pro DC制作的,当然网上也有,但是好多图片没显示,看的很着急,所以自己整理一份。 对于新手来说,这个软件使用还是需要一番摸索的,来说一下我的制作流程: 1.1、现有一个模版,用Adobe调模版还是挺麻烦的,所以还是使

海阔天空的专栏 1761

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java填充word模版导出word文件支持导出pdf,支持本地下载和网络下载

本文介绍了使用Java处理Word模板的两种方案:Apache POI适合简单操作,docx4j更适合复杂模板替换。详细说明了Maven依赖配置、模板填充代码(使用${name}占位符)以及DOCX转PDF的实现方法。提供了SpringBoot文件下载示例和URL获取模板的代码,并总结了完整处理流程和注意事项(字体、性能、安全等)。这套组合方案能实现完整的模板填充与导出功能,支持DOCX/PDF格式的本地和网络下载。

2501_93973572的博客 275

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java填充word模版导出word文件支持导出pdf,支持本地下载和网络下载,使用jar包

本文介绍了使用Java实现Word模板填充与导出的技术方案。通过poi-tl和Apache POI依赖实现Word操作,利用documents4j实现Word转PDF功能。文章详细讲解了模板制作规范:文本标签使用{{属性名}}格式,列表集合使用{{集合名}}和[属性名]格式,图片列表使用@[@属性名]格式。核心代码展示了如何通过XWPFTemplate生成模板、配置渲染策略、填充数据源,并最终导出文件。该方案支持文本、表格、图片等多种元素的动态填充,适用于各类文档自动化生成场景。

weixin_45559862的博客 351

JAVA在PDF指定位置赋值

为什么80%的码农都做不了架构师?>>> ...

weixin_34235457的博客 2343

Java使用PDF模版导出文件

准备:一个PDF模版。1、获取模版文件。2、创建reader和stamper和AcroFields。3、填充表单。4、输出文件。

weixin_45735511的博客 694

利用PDF模版生成PDF文件

文章目录 前言 一、注备好PDF模版 二、代码示例 1.依赖 2.代码示例 总结 前言 如何利用PDF模版填充数据,生成我们想要的PDF文件呢? 一、准备好PDF模版 1、注备好需要生成的PDF文件 2、使用编辑器(例如:福昕高级PDF编辑器)编辑PDF文件,新建文本域,并保存。 二、代码示例 1.依赖 <dependency> <groupId>com.itextpdf</groupI...

奕安的博客 1408

Java实现PDF模板数据填充生成PDF

Java实现PDF模板数据填充生成PDF一、编辑PDF模板二、获取字体三、Java实现1.创建word文档设置好模板,导出为PDF2.打开导出的PDF,进行表单编辑。

2403_86799799的博客 401

Java结合lowagie实现PDF表单动态填充(免字体配置)

本文详细介绍了使用Java结合lowagie库实现PDF表单动态填充的完整方案。该方案无需额外配置系统字体,通过内置STSong-Light中文字体支持,可快速、稳定地生成标准化PDF文档。文章涵盖从模板制作、项目依赖配置到核心代码实战的全流程,并提供了避坑指南与Spring Boot集成示例,是处理合同、申请表等表单生成需求的理想选择。

yog99的博客 666
上一篇: Java 导出大数据到 Excel 表格
下一篇: windows 登录提醒程序
sleeper01
博客等级 码龄15年 385粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sleeper01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值