如何使用 Python 实现根据用户所填信息填入合同 word 模板,自动生成 pdf 合同?

2020-01-03 11:33:03 +08:00
 itIsUnbelievable

部署在 linux 环境下。

3926 次点击
所在节点    问与答
17 条回复
a719114136
2020-01-03 11:54:30 +08:00
用图片吧,然后就是在 pdf 里插图片
itIsUnbelievable
2020-01-03 12:07:12 +08:00
@a719114136 把 word 转成图片吗?我随便搜了一下好像没看到实现的方法,而且转图片排版也有问题吧
k8ser
2020-01-03 12:34:56 +08:00
{} 模板 读成字符串 format 不就行了?
renmu
2020-01-03 12:37:27 +08:00
直接写成 PDF 可能倒比写到 Word 再转更方便
a719114136
2020-01-03 12:50:11 +08:00
@itIsUnbelievable 模板就直接用图片,然后在图片上添加文字
ddd2500
2020-01-03 12:54:47 +08:00
使用 html 模板吧, 再转 pdf 感觉比较简单
CallMeReznov
2020-01-03 13:03:06 +08:00
用 flask 写个页面,然后把你的 WORD 格式在 HTML 模板里做好
最后用转成 PDF.
virusdefender
2020-01-03 13:08:52 +08:00
直接写 pdf 或者 html 转 pdf 或者 LaTeX 转 pdf 会更简单点
chenxj123
2020-01-03 13:13:38 +08:00
chenxj123
2020-01-03 13:17:21 +08:00
python-docx-template
可以用这个包,事先用 word 做好模板

word 弄好之后,在 linux 下装好 libreoffice,然后用这个工具转成 pdf
Hyseen
2020-01-03 14:41:25 +08:00
用 html 模版,再转 pdf
no1xsyzy
2020-01-03 15:53:49 +08:00
@chenxj123 那为何不直接写 LibreOffice 宏?替换、转 PDF 一步到位。
而且用 LaTeX 方便多了,可用 pandoc 从 docx 转成 LaTeX 然后清理。
chenxj123
2020-01-03 17:56:09 +08:00
@no1xsyzy python-docx-template 这个包支持很多 word 格式,而且 python 实现起来很方便,数据从数据库里一取一填就好了。
其他工具我不知道对 word 的格式支持能到什么程度,反正我之前做的一个自动化报告的项目,里面各种乱七八糟的格式要求,字体,字号,一段文字中间的不同颜色,斜体黑体什么的。还要表格根据数据自动生成相应的行数,没有数据就没有表格,还要插入图片什么的,各种要求吧。
唯一做不到的就是转 PDF,所以就再找个转 pdf 的工具就好了
iilxy
2020-01-03 21:10:51 +08:00
PyFPDF 直接生成 pdf 就行了
xml123
2020-01-03 23:50:13 +08:00
这个需求直接用 LaTeX 更方便吧,就是需要把模板用 LaTeX 重新写一边。
no1xsyzy
2020-01-04 01:59:57 +08:00
@chenxj123 原来是 jinja2
那直接 jinja2 做出 html 转 PDF 就行了啊,你这是绕一圈
不过 LaTeX 告诉我们有时绕一圈生成速度快生成文件还小(手动笑哭
changxiushanwu
2020-01-04 07:51:24 +08:00
同推荐 python-docx-template,直接生成 word 文档。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/634707

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX