【发布时间】:2013-02-13 01:19:20
【问题描述】:
我正在将数百个 ODT 文件转换为 PDF 文件,一个接一个需要很长时间。我有一个多核 CPU。是否可以使用 bash 或 python 编写脚本来并行执行这些操作? 有没有办法从命令行使用 libreoffice 并行化(不确定我是否使用正确的词)批处理文档转换? 我一直在 python/bash 中调用以下命令:
libreoffice --headless --convert-to pdf *appsmergeme.odt
或
subprocess.call(str('cd $HOME; libreoffice --headless --convert-to pdf *appsmergeme.odt'), shell=True);
谢谢!
提姆
【问题讨论】:
-
您的意思是在多个 CPU 上运行单个
libreoffice命令还是多次调用libreoffice并分别转换文件?第一种情况你什么都做不了,第二种情况很简单。 -
嗯,我相信
libreoffice会阻止您同时运行多个 pdf 转换器。尝试创建多个进程只生成一个.pdf文件,其他进程失败。即使使用--nolockcheck选项也会发生这种情况。所以,我相信你的问题的答案是:你不能。您应该使用不同的程序进行转换。 -
我相信我曾经读过 libreoffice 总是只使用一个进程(也跨 writer、impress 等),这可能会让这不可能。
-
Bkuriu:我的意思是在多个 CPU 上运行 libreoffice,以便同时转换多个文件。
-
除了 Libreoffice 之外,还有什么关于从 CLI ODT 进行批量转换的建议 > PDF?
标签: python bash libreoffice