我正在将数百个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);
谢谢你!
提姆
您可以将libreoffice作为守护进程/服务运行。请检查下面的链接,也许它对您也有帮助:Daemonize the LibreOffice service
另一种可能性是使用unoconvunconv是一个命令行实用程序,它可以将OpenOffice可以导入的任何文件格式转换为OpenOffice可以导出的任何文件格式。”
这个线索或答案是旧的。 我测试了Libreoffice4.4,我可以确认我可以同时运行libreoffice。 看我的剧本。
因为作者已经介绍了Python作为一个有效的答案:
通过
multiprocessing.dummy
使用线程池而不是进程池就足够了,因为真正并行的新进程无论如何都是由subprocess.call()
生成的。我们可以直接设置命令和当前工作目录
cwd
。不需要为每个文件加载一个shell
文件。此外,os.path
支持跨平台互操作性。相关问题 更多 >
编程相关推荐