我正在尝试使用 python 将加密文档(doc/docx)转换为 PDF。
我要做的是:
- 首先将它们暂时解密在一个单独的文件夹中
- 使用 unoconv 命令行将解密后的文件转换为 pdf:
unoconv -f pdf -eSelectPdfVersaion=1 [path-to-file]
转换运行,但我注意到在 doc 和 docx 文件中,文档(解密文件和 pdf)的外观发生了变化,这不会影响原始加密文件(我通过简单地解密文件来测试它从 Windows 客户端和原来的解密文件)。
外观基本上是影响页面数量的文档样式的变化。例如,一个 13 页的 Word 文档被解密为 14 页的 Word 文档并转换为一个 14 页的 PDF 文件。同样,一个 348 页的 doc 文件被转换为一个 330 页的 doc 文件,然后是一个 330 页的 PDF 文件。
我发现 Microsoft Word 与使用 Unoconv (4.3) 安装的 LibreOffice 版本之间的样式略有不兼容。在进行测试时,我注意到字体已更改为与 LibreOffice 兼容的字体,其大小与原始字体略有不同。
我安装了更高版本的 LibreOffice(5.1、5.3),在我的测试中,解密的 doc/docx 文件具有正确的格式和页码,但 unoconv 没有使用新版本并坚持使用 4.3,因此生成的 PDF 文件带有样式和页码不正确。
我尝试使用:
soffice --headless --convert-to pdf [path-to-file] --outdir [path-to-export-directory]
但它什么也没做。
有没有办法将 unoconv 与 4.3 以外的 LibreOffice 版本一起使用?
有没有办法让 --convert-to 命令与 LibreOffice 5.1 甚至 5.3 一起使用?