有没有什么办法可以使用java中的LibreOffice SDK将任何MS文档转换为PDF?

时间:2016-11-28 14:31:19

标签: java pdf libreoffice

我想编写将输入作为ms文档并将其转换为PDF的代码。我想使用LibraOffice SDK进行转换,但无法找到相关的东西。有可能吗?如果是的话,你能给我一些指示吗?

2 个答案:

答案 0 :(得分:1)

LibreOffice具有原生PDF"另存为"功能,当然你可以从SDK中利用这个功能。 我在我的ASP.NET VC#中使用它,我在这里发布。我猜java不会有太大差异。

一旦您处理了xDocument(Calc或Write),就会以这种方式将它们保存为PDF:

            XStorable xStorable = (XStorable)xDocument;
            PropertyValue[] storeProps = new PropertyValue[3];
            storeProps[0] = new PropertyValue();
            storeProps[0].Name = "FilterName";
            storeProps[0].Value = new uno.Any("writer_pdf_Export");
            storeProps[1] = new PropertyValue();
            storeProps[1].Name = "Overwrite";
            storeProps[1].Value = new uno.Any(true);
            storeProps[2] = new PropertyValue();
            storeProps[2].Name = "SelectPdfVersion";
            storeProps[2].Value = new uno.Any(1);

            xStorable.storeToURL("file:///" + outFile, storeProps);
            xDocument.dispose();

答案 1 :(得分:-1)

不太了解LibreOffice SDK,但这对于iText(http://developers.itextpdf.com/apis)肯定是可行的。它是一个易于使用的API。

我也从Apache FOP获得了很好的结果。也就是说,要小心,因为它会慢得多,并且可能会占用内存,因为它会将整个文档加载到内存中。