我想编写将输入作为ms文档并将其转换为PDF的代码。我想使用LibraOffice SDK进行转换,但无法找到相关的东西。有可能吗?如果是的话,你能给我一些指示吗?
答案 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获得了很好的结果。也就是说,要小心,因为它会慢得多,并且可能会占用内存,因为它会将整个文档加载到内存中。