我有一些用OpenOffice编写的文档,我想在最终的构建交付中包含一些PDF文件。我想用自动构建脚本来完成这个。
有没有办法使用命令行命令从OpenOffice创建PDF文件?
答案 0 :(得分:28)
截至2012年9月,LibreOffice可以从命令行将文档转换为PDF:
lowriter --headless --convert-to pdf yourfile.odt
它还具有批量转换支持:
lowriter --headless --convert-to pdf yourfiles*.odt
会将与该模式匹配的所有文件转换为相应的PDF文件。
运行此命令时,必须没有打开LibreOffice窗口。
答案 1 :(得分:16)
答案 2 :(得分:12)
Art of Solving还有一个非常好的API来执行Java转换。它有点慢,但很简单。这就是我使用它的方式:
File inputFile = new File("C:\\oreyes\\hola.doc");
File outputFile = new File("C:\\oreyes\\hola.pdf");
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
} catch(Exception e) {}
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
connection.disconnect();
您可以使用它创建一个jar并从命令行处理它。
答案 3 :(得分:2)
虽然这个问题有点陈旧,但这里的目的是记录LibreOffice解决方案的一些常见缺陷:
如果lowriter
不起作用,因为它会忽略命令行参数并调出gui,只需尝试调用libreoffice
或loffice
二进制文件:
loffice --headless --convert-to pdf yourfile.odt
如果收到此消息
Error: Please reverify input parameters...
尝试以root身份运行它(例如通过sudo)。这有助于我安装了安装了LibreOffice 3的Ubuntu 12.04 LTS,这也可能是没有正确配置(Libreoffice --headless refuses to convert unless root, won't work from PHP script)
还要确保您没有任何其他LibreOffice实例正在运行,否则它将无声地失败并且根本不进行转换。
答案 4 :(得分:1)