硬核!Java 实现数据动态插入,生成 PDF,2024新鲜出炉阿里巴巴面试真题

这篇博客详细介绍了如何使用Java实现数据动态插入到PDF模板中,通过Adobe Acrobat DC配置数据源,然后提供代码示例展示如何读取PDF表单、设置字体、填充数据并导出。此外,还提到了Java实现Excel生成和数据插入的相关内容。
摘要由CSDN通过智能技术生成

3)这时需要用到一个叫:Adobe Acrobat DC的软件(可以白嫖7天_),具体操作如下:

用Adobe Acrobat DC打开我们刚才改过名字的PDF文件,点击右下角的“更多工具”按钮

到下面这个页面再点击“准备表单”按钮

4)接下来就需要详细的配置你的数据源了

数据源即:你代码中实体类中对应的数据(注意字段一定要一一对应),配置完毕就可以保存进行下面的代码编写工作了。

2、代码的编写(假定我们实体类什么的都已经编写完成、数据通过前端传入获取、模板位置在E盘根目录下名字为:车辆维修审批单.pdf)
导入jar包:

com.itextpdf

itextpdf

5.5.13

实现生成PDF、数据插入、导出

@RegisterToSMP(serviceDisplay = “预览页面PDF下载”)

@RequestMapping(value = “/DM/gwclwxsq/qygl/exportPDF$m=query.service”,method =RequestMethod.POST)

public String exportPdf(@RequestBody GwclwxsqBean gwclwxsqBean , HttpServletResponse response) throws UnsupportedEncodingException {

// 1.指定解析器

System.setProperty(“javax.xml.parsers.DocumentBuilderFactory”,

“com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl”);

String filename=“车辆维修审批单.pdf”;

String path=“e:/”;

response.setContentType(“application/pdf”);

response.setHeader(“Content-Disposition”, “attachment;fileName=”

+ URLEncoder.encode(filename, “UTF-8”));

OutputStream os = null;

PdfStamper ps = null;

PdfReader reader = null;

try {

os = response.getOutputStream();

// 2 读入pdf表单

reader = new PdfReader(path+ “/”+filename);

// 3 根据表单生成一个新的pdf

ps = new PdfStamper(reader, os);

// 4 获取pdf表单

AcroFields form = ps.getAcroFields();

// 5给表单添加中文字体 这里采用系统字体。不设置的话,中文可能无法显示

BaseFont bf = BaseFont.createFont(“C:/WINDOWS/F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值