欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Java填充PDF并返回填充后PDF文件及对应base64码

Java填充PDF并返回填充后PDF文件及对应base64码

2024/10/24 17:23:14 来源:https://blog.csdn.net/weixin_45735355/article/details/141261980  浏览:    关键词:Java填充PDF并返回填充后PDF文件及对应base64码

前期准备

下载PDF编辑工具(Adobe Acrobat 9 Pro):

在这里插入图片描述
可以主页关注小程序【白哥Java】回复【PDF编辑软件】即可获取 或者直接联系博主也可

在这里插入图片描述

主页如下:
在这里插入图片描述

软件使用流程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此处流程为文本域流程 图片或其他大致相同
生成模板PDF样式如下:
在这里插入图片描述

代码开发

引入依赖

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.2</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency>

代码块

public static String editPdfAndGetBase64(String srcPdfPath, String destPdfPath) throws Exception {PdfReader reader = new PdfReader("C:\\Users\\Administrator\\Downloads\\附2:电子处方文件参考模板-副本.pdf");ByteArrayOutputStream baos = new ByteArrayOutputStream();PdfStamper stamper = new PdfStamper(reader, baos);AcroFields form = stamper.getAcroFields();BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);form.addSubstitutionFont(bf);form.setField("patientName", "周大炮");form.setField("age", "24岁");form.setField("prescriptionType", "普通\n处方");form.setField("hisRegistorNo", "263002");form.setField("hisPrescriptionNo", "HE920394223");form.setField("recipeDate", "2024-08-14");form.setField("department", "内分泌内科");form.setField("sex", "男");form.setField("icdName", "蚊媒介的病毒性发热,其他特指的");form.setField("drugs","1.瑞格列奈片               2mg*30片/盒               4盒"+"\n"+"     用法用量:口服   每天3次   一次2片"+"\n");stamper.setFormFlattening(true);stamper.close();reader.close();// 将ByteArrayOutputStream的内容写入文件try (FileOutputStream fos = new FileOutputStream("D:\\处方流转\\12.pdf")) {fos.write(baos.toByteArray());}// 将ByteArrayOutputStream的内容转换为Base64字符串byte[] pdfBytes = baos.toByteArray();String encode = Base64Utils.encode(pdfBytes);// 返回Base64字符串return encode;}

填充后文件样式

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com