OpenOffice命令行PDF创建

时间:2008-12-10 08:49:08

标签: build-process build-automation nant openoffice.org libreoffice

我有一些用OpenOffice编写的文档,我想在最终的构建交付中包含一些PDF文件。我想用自动构建脚本来完成这个。

有没有办法使用命令行命令从OpenOffice创建PDF文件?

5 个答案:

答案 0 :(得分:28)

截至2012年9月,LibreOffice可以从命令行将文档转换为PDF:

lowriter --headless --convert-to pdf yourfile.odt

它还具有批量转换支持:

lowriter --headless --convert-to pdf yourfiles*.odt

会将与该模式匹配的所有文件转换为相应的PDF文件。

运行此命令时,必须没有打开LibreOffice窗口。

答案 1 :(得分:16)

有一个名为“unoconv”的好工具,它在我的Ubuntu存储库中。它将ODF.ods,...转换为PDF,我认为也适用于其他格式。

我也可以将PowerPoint文件转换为PDF格式。

答案 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,只需尝试调用libreofficeloffice二进制文件:

    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)