我想通过 python 实现对固定模板文档简单的替换、然后生成新的文档。想求一份 demo,不知道有没有人有这闲工夫。。。。
|
qwjhbMay 6, 2018
1
python 有个库的 现在模板里建好书签就行
|
|
2
Docxtpl 了解一下
|
|
lpd0155May 6, 2018 via Android
3
Docx-mailmerge
也是可以的,比较适合你说的这个情景 |
|
ethanluMay 6, 2018
4
我是用 excel+word 用 vba 做的
|
|
xiaoheijwMay 7, 2018
5
伸手党啊
|
|
holajamcMay 7, 2018
6
docxtpl 可以,但是如果你的数据足够大的话可能会随时 GG。
如果你试过的话应该知道 office 都是基于 xml 实现的,那么很简单了,用 docxtpl 的思想,用 jinja2 书写模板之后修改 document.xml 中的部分 xml 标签隔断,渲染模板最后再压缩回去~ |
|
jijiwaiwaiMay 7, 2018
12
docx 就是一个 zip,python 解压之后只需要修改 xml 文件的内固定位置的内容就行,在打包就行了
|
|
qile1May 8, 2018 via Android
13
@holajamc 能说的详细些不?没看懂,html 用 jinja2 替换弄过,world 的 doc 文档不是不太开源,怎么会和 xml 有关系
能说说具体实现方式不 |
|
holajamcMay 8, 2018
14
@qile1 你把 word 的 docx 解压会发现就是一个 zip 压缩包,其中最关键的部分是 word/document.xml 去更改里面的内容就可以啦~
|
|
qile1May 8, 2018 via Android
15
@holajamc 那是不是我就可以用 docx 做模板了
xml 里面设置项目的替换,用 jinja2 替换,然后 zip 压缩改名为 docx 后缀,以前见有的把 html 格式作为模板,保存在数据库的是 xml 文件,估计和这个类似 |
|
holajamcMay 9, 2018
16
@qile1 是的呀,提供一个我目前用的正则处理 xml 标签隔断的代码~
https://github.com/JamCh01/simple_template/blob/master/simple_tamplate/tools.py#L39 |
|
LokiSharpMay 9, 2018
17
直接用 Word 的模板系统不就好了。。。。。。dotx 了解一下
|