组合.docx文档
项目描述
docxcompose 是一个用于连接/附加 Microsoft Word (.docx) 文件的 Python 库。
用法示例
将文档附加到另一个文档
from docxcompose.composer import Composer
from docx import Document
master = Document("master.docx")
composer = Composer(master)
doc1 = Document("doc1.docx")
composer.append(doc1)
composer.save("combined.docx")
docxcompose 控制台脚本
docxcompose 控制台脚本允许从命令行组合 docx 文件,例如:
$ docxcompose files/master.docx files/content.docx -o files/composed.docx
开发安装
要为开发安装 docxcompose,克隆仓库并使用带有 setuptools 的 python(例如一个新的虚拟环境),然后使用 pip 进行安装。
$ pip install -e .[tests]
可以使用 pytest 运行测试。
关于测试的说明
测试提供了一组帮助器,可以进行黑盒测试,可以比较整个文档文件。为此,应提供以下文件:
一个期望输出的文件,应添加到文件夹 docs/composed_fixture 中。
多个可以组合成上述文件的文件应添加到文件夹 docs 中。
现在可以按照以下方式测试期望输出:
def test_example():
fixture = FixtureDocument("expected.docx")
composed = ComposedDocument("master.docx", "slave1.docx", "slave2.docx")
assert fixture == composed
如果断言失败,输出文件将被存储在文件夹 docs/composed_debug 中,文件名为固定文件名,例如本例中的 expected.docx。
1.4.0 (2022-12-14)
添加了对更新多行纯文本内容控件的支持。[lgraf]
1.3.7 (2022-11-18)
在更新日期字段时尊重文档语言。[njohner]
1.3.6 (2022-10-05)
vt2value(): 将空的 <vt:lpwstr/> 节点转换为空字符串,而不是 None。[lgraf]
1.3.5 (2022-07-08)
支持缺少的样式元素。[BryceStevenWilley]
正确处理具有节的文档合并时的页眉和页脚。[njohner]
1.3.4 (2021-12-20)
在处理具有自定义样式编号定义的文档时避免 IndexError。[lonetwin]
1.3.3 (2021-08-12)
添加对 Smart Art 的支持(修复 #23)。
在 restart_first_numbering 中正确处理映射的样式。[njohner]
1.3.2 (2021-04-27)
使 Doc Properties 不区分大小写。[buchi]
1.3.1 (2021-01-13)
添加对字段名拆分为多个运行的支持。[njohner]
添加对日期格式切换的支持。[njohner]
1.3.0 (2020-10-06)
支持更新没有现有值的复杂属性。[deiferni]
1.2.0 (2020-07-13)
添加将 docproperty 置为空的方法。[deiferni]
1.1.2 (2020-06-11)
处理具有外部引用的嵌入式图像。[buchi]
修复重新编号非可视图像和绘图属性的问题。[buchi]
1.1.1 (2020-05-04)
修复非 ascii 二进制_type docproperties 的问题。[deiferni]
1.1.0 (2020-04-07)
添加对更新文档页眉和页脚中的 docproperties 的支持。[deiferni]
1.0.2 (2019-09-09)
如果复杂字段没有单独的节点,则不会失败。[njohner]
1.0.1 (2019-07-25)
正确处理同一段落中的两个复杂字段。[njohner]
正确处理文档中出现多次的 docproperty 的情况。[njohner]
处理在属性名之前有额外空格或在属性名周围没有引号的前缀。[njohner]
1.0.0 (2019-06-13)
将许可证从 GPL 更改为 MIT。[buchi]
添加对添加、设置和删除 doc properties 的支持。[buchi]
1.0.0a17 (2019-04-25)
添加获取和设置纯文本内容控件(结构化文档标记)内容的功能。[buchi]
1.0.0a16 (2019-01-15)
防止在更新期间出现先前缓存的 doc property 值的残留物。[deiferni]
1.0.0a15 (2018-12-12)
修复了使用非 ascii 名称更新 doc-properties 的问题。[deiferni]
不要两次处理超链接引用。[deiferni]
1.0.0a14 (2018-12-04)
实现了对引用部分的通用处理。其中还包括了对嵌入式 Excel 图表的支持。[buchi]
处理嵌入式 SVG。[buchi]
添加来自其他部分(例如脚注)的样式。[buchi]
1.0.0a13 (2018-11-05)
修复了在重新启动编号时设置列表样式不正确的问题。[deiferni]
1.0.0a12 (2018-10-30)
修复了为只有一个部分的附加文档设置部分类型的问题。[deiferni]
1.0.0a11 (2018-07-30)
修复了处理部分类型的问题。[buchi]
修复了第一个元素列表样式不同的问题。[deiferni]
修复重启时间歇性编号的问题。[deiferni]
1.0.0a10 (2018-07-18)
添加控制台脚本命令,用于组合两个或更多个文档。[deiferni]
1.0.0a9 (2018-05-01)
修复1.0.0.a7中引入的num_ids映射错误。[buchi]
当引用零编号时,不会失败。[deiferni]
1.0.0a8 (2018-04-26)
仅在可用时尝试设置nsid。[deiferni]
1.0.0a7 (2018-04-20)
修复WordprocessingGroups (<wpg:wpg>)中的图像处理。[buchi]
修复形状组 (<v:group>)中的形状处理。[buchi]
修复编号处理,避免插入多个编号属性。[buchi]
修复书签重编号。[buchi]
重编号绘图对象属性 (<wp:docPr>) 的id。[buchi]
1.0.0a6 (2018-02-20)
不要重启项目符号编号。[buchi]
1.0.0a5 (2018-01-11)
重编号书签以避免重复的id。[buchi]
添加对形状的支持。[buchi]
1.0.0a4 (2017-12-27)
修复使用不同语言组合文档时的样式处理。[buchi]
同时添加在样式中的引用编号。[buchi]
避免对同一样式具有多个 <w:abstractNum> 元素。[buchi]
重新启动插入文档的第一编号 [buchi]
添加对锚定图像的支持。[buchi]
处理在styles.xml中未定义的引用样式id。[buchi]
从段落属性中删除页眉和页脚引用。[buchi]
1.0.0a3 (2017-11-22)
使删除属性字段变为可选。[buchi]
1.0.0a2 (2017-11-06)
修复包含超链接的脚注的处理。[buchi]
添加处理自定义文档属性的功能。属性可以被更新,包含属性的域可以被删除。当附加或插入文档时,它们的自定义文档属性将自动删除。[buchi]
1.0.0a1 (2017-09-13)
初始发布 [buchi]
项目详情
docxcompose-1.4.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bcf2799a0b63c29eb77a3d799a2f28443ae0f69f8691ff3d753f706be515c3e9 |
|
MD5 | 196c940f927b6d9bffe16dc30211d1e2 |
|
BLAKE2b-256 | 5d2507597a0fda04adf2f2fc375f48f704612a91c0c1da64f4c18e78a4a26630 |