当前位置: 首页 > news >正文

使用pdfrw更新PDF文件信息实现方法

上需求:有一个固定格式的word文档,为了保证填写的规范,需要使用业务系统通过获取数据库内相关信息,些人到表格中,用户可以下载完成的文档。

一、将word转换成PDF文件

使用常用的办公软件即可完成。完成后的文件名为pdf_mubo.pdf。

二、编辑pdf_mubo.pdf文件

1、为了能读取写人数据,要先将pdf_mubo.pdf文件转换成带有表单元素的交互式PDF文件。

下载安装Adobe Acrobat软件。

安装方法借鉴博文:Adobe的PDF工具Acrobat Pro DC 2023版本下载与安装-CSDN博客

2、具体操作方法

使用Adobe Acrobat打开pdf_muban.pdf,然后在 “更多工具” 中找到 “”准备表单“”,使用 准备表单编辑需要插入数据的部分,主要需要设置:表单名称、表单范围、字体字号。

设置好后保存。

三、使用pdfrw库

import pdfrwdef update_pdf_form(pdf_muban, pdf_output, data_dict):# 读取 PDF 模板文件template = pdfrw.PdfReader(pdf_muban)# 遍历每一页for page in template.pages:annotations = page['/Annots']if annotations:for annotation in annotations:if annotation['/Subtype'] == '/Widget':if annotation['/T']:key = annotation['/T'][1:-1]  # 获取字段名称if key in data_dict:# 更新字段值annotation.update(pdfrw.PdfDict(V='{}'.format(data_dict[key])))# 写入更新后的 PDF 文件pdfrw.PdfWriter().write(pdf_output, template)# 更新表单字段的示例
pdf_muban = 'wts.pdf'
pdf_output = 'output.pdf'
data_dict = {'name': 'liming','sex': '男',# ...... 其它需要插入的数据,字典的构造要和模版的字段名字一一对应}update_pdf_form(pdf_muban, pdf_output, data_dict)


http://www.mrgr.cn/news/7338.html

相关文章:

  • 重构与领域驱动设计
  • Linux发送邮件:如何配置SMTP服务器发信?
  • 系统分析师4:数据库系统
  • 微信小程序模板与配置(三)app.json对小程序进行全局性配置
  • fl studio mobile2024中文版下载
  • SDR与HDR
  • 使用IntelliJ IDEA将本地项目推送到远程Git
  • 没用的C++程序
  • 设计模式六大原则(六)--迪米特法则
  • Level3 — PART 4 机器学习算法 — 朴素贝叶斯
  • 数据结构【链试结构二叉树】
  • 分享一个基于文本挖掘的微博舆情分析系统Python网络舆情监控系统Flask爬虫项目大数据(源码、调试、LW、开题、PPT)
  • 【机器人学】7-2.六自由度机器人自干涉检测-计算圆柱体的上下圆心坐标【附MATLAB代码】
  • Python TensorFlow进阶篇
  • 数据导入导出(EasyExcel)框架入门指南
  • scrapy框架--快速了解
  • 2024年Google开发者大会:AI赋能的Web、移动和云开发
  • 路线规划之Neo4j
  • 基于java的少儿编程网上报名系统+vue
  • ASP.NET下Webshell编译产物免杀