2016-11-28 5 views
-2

Я хочу написать код, который будет принимать ввод как ms-документ и преобразовать его в PDF. Я хочу использовать LibraOffice SDK для преобразования, но не могу найти связанные вещи. Можно ли это сделать? Если да, можете ли вы дать мне несколько указателей?Есть ли способ конвертировать любой документ MS в PDF с помощью LibreOffice SDK в java?

+0

Я был бы рад, если я узнаю, что случилось в этом вопросе, когда вниз голосования ! –

ответ

0

Не знаю много о LibreOffice SDK, но это, безусловно, можно сделать с iText (http://developers.itextpdf.com/apis). Это простой в использовании API.

У меня также были хорошие результаты от Apache FOP. Тем не менее, остерегайтесь там, поскольку он намного медленнее и может быть болотом памяти, поскольку он загружает весь документ в память.

+0

Я хочу использовать, который является open source. –

+0

iText - AGPL. [Вот информация об этом] (http://softwareengineering.stackexchange.com/questions/107883/agpl-what-you-can-do-and-what-you-cant) – zcarioca

+0

Apache FOP лицензируется по лицензии Apache 2, оба из них с открытым исходным кодом – zcarioca

0

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(); 

 Смежные вопросы

  • Нет связанных вопросов^_^