批量docx生成

letterpress的Python项目详细描述


Letterpress

Letterpress取意于活字印刷,是帮需要批量生成Word的朋友写的一个小工具。

每一套信息需要生成大量文件,Word自带的邮件生成也帮不了他。

Installation

python -m pip install letterpress

Usage

假设你有一个Word文件,起名为template.docx,其中的内容是这样的:

标题:{{ topic }}
正文: {{ content }}

这些内容可以在正文,可以在表格,甚至可以在页眉页脚或者嵌套的表格中。

当然,也可以在页眉页脚嵌套的表格中。

这些内容也可以是任何格式,任何大小,甚至大括号与变量名都不需要统一格式。

唯一需要注意的是,需要用两个大括号和一个空格包围你的变量名。

然后运行下面的Python代码:

fromletterpressimportTemplateDocumentvm={'topic':'my-topic','content':'my-content',}template=TemplateDocument('template.docx',vm.keys())template.parse_document()template.replace_and_save(vm,'outcome.docx')vm={'topic':'my-another-topic','content':'my-another-content',}template.replace_and_save(vm,'another-outcome.docx')

就根据给定的内容生成了两个Word文件。

FAQ

Q: Word文件无法读取,显示检测到不是Word文件。 A: python-docx读取的方式不适用于老版本Word,升级到docx就好了。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Camera API如何聚焦图像中多边形的中心?   来自Java的spring Filling邮戳模板   java只能编织本地JAR的方面吗?   javajavax。加密。BadPaddingException:解密错误无法解密加密的公钥   从java运行ansibleplaybook   在Java中,如何从不同的偏移量读取大块的字符串文件?   java Android GridView将无法确定正确的位置   executorservice如何使用自动线程管理在Java中实现生产者/消费者   JavaEJB3.1嵌入式API单元测试EJB+JPA实体   API的java输出自动停止   java Checkmarx缺陷解决方案   java缓存,获取最早的元素   WebSphere8中的JavaEJB问题   两个时区之间的java Jodatime时差   Java 8不兼容类型错误   java TableCellEditor:如果按下该键,则清除原始文本;如果没有输入,则保留值