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

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

有帮助吗?

解决方案

求解艺术也具有很好的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(); 

可以创建一个罐子与和从命令行对其进行处理。

其他提示

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

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

它也有散装转换支持:

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

将转换所有匹配模式到对应的PDF文件的文件。

有一定当你运行该命令没有LibreOffice的窗户打开。

有一个很棒的工具叫做“unoconv”,它在我的 Ubuntu 存储库中。它转换 光纤配线架, .ods, ...PDF,我想也可以是其他格式。

我还可以将 PowerPoint 文件转换为 PDF。

虽然这个问题有点老了,但这里是为了记录 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 拒绝转换,除非 root,无法在 PHP 脚本中工作)

  • 还要确保您没有运行任何其他 LibreOffice 实例,否则它将默默失败并且根本不进行任何转换。

有是 anytopdf 。有没有尝试过自己。

...引用

  

anytopdf是一种转换OpenOffice.org,的Microsoft Office(Word文档时,Excel XLS),RTF,HTML以及其他openoffice.org可读文件格式为PDF格式的perl脚本。如果它不是已存在就会自动安装在当前用户的OpenOffice.org配置支承“AnyToPDF” OpenOffice.org Basic宏库。

     

致力于和平,爱,理解和众生的尊重。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top