通过 dotx 将文本文件转换为 docx

通过 dotx 将文本文件转换为 docx

给定数千个文本文件,如何使用模板 (.dotx) 将文本文件 (.txt) 转换为 Word 文件 (.docx)?Windows 是否有命令行可以执行此任务?Python 代码也应该可以正常工作。

以下是示例文本:

First line
السطر الثاني
Third line

我希望此文本在 Word 中呈现为:

来自 word 的快照

使用以下模板:

https://file.io/O6HraiFeWeO3

[docx 和 dotx 文件]

使用以下 Python 代码只能部分起作用。它将包括阿拉伯语在内的整个文本渲染为 Calibri。然而,我希望它将 Calibri 分配给拉丁/英语文本,并将阿拉伯语排版分配给复杂/阿拉伯脚本:

import docx

text_file     = 'input.txt'
template_file = 'templateDOC.docx'
output_file   = 'output.docx'

with open(text_file, 'r', encoding='utf-8') as f:
    text = f.read()

doc = docx.Document(template_file)
doc.add_paragraph(text)
doc.save(output_file)

答案1

您可以尝试使用潘多克使用如下命令来完成这个任务:

pandoc input.txt --reference-doc template.docx -o output.docx

据我所见,它可以正确转换字体。但是,除非您输入两个换行符,否则输出将只有一行,因此您可能需要为此修改模板。

对于大量文件来说:

Get-ChildItem -Filter *.txt -Recurse | % { pandoc $_.FullName --reference-doc template.docx -o "$($_.FullName)_output.docx" }

相关内容