2015-09-11 50 views
0

我創建了一個java應用程序,用於在輸出中創建一些文檔。這些文檔是用apache POI api創建的,並且由文本abn表格構成。 我的老闆現在決定他們也希望他們以pdf格式存儲他們。他們當然有0美元的預算。我tryed利用iText 4.2(其中談到下LGPL許可證),但我失去了所有的表(我只有赤裸裸的文字)在java中將.doc轉換爲.pdf(免費)

這是我的腳本:

try{ 

       XWPFDocument doc = new XWPFDocument(POIXMLDocument.openPackage(s + ".doc")); 
       XWPFWordExtractor wx = new XWPFWordExtractor(doc); 
       PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(s + ".pdf")); 

       document.open(); 
       writer.setPageEmpty(true); 
       document.newPage(); 
       writer.setPageEmpty(true); 
       String text = wx.getText(); 
       text=text.replaceAll("\\cM?\r?\n", ""); 
       document.add(new Paragraph(text));   
      } 
      catch(Exception e){ 
       System.out.println("Exception during test"); 
       e.printStackTrace(); 
      } 

任何幫助嗎?即使改變方向也會很好。如果我可以簡單地編寫一個打開文檔的宏,輸入save as並將其另存爲pdf,並使用相同的名稱,那麼我正在遊蕩。最終在java應用程序中啓動它。

謝謝

+0

OpenOffice via JODConverter? – Gagravarr

+0

我從來沒有聽說過它。我下載了.jar,你有例子給我嗎? 東西讀取.doc文件並拋出.pdf文件 –

+0

編輯:我試了這個JODConverter腳本: DefaultOfficeManagerConfiguration配置=新的DefaultOfficeManagerConfiguration();配置文件(「C:\ Program Files(x86)\\ OpenOffice.org 3」); \t \t OfficeManager officeManager = configuration.buildOfficeManager(); \t officeManager.start(); \t OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager); converter.convert(new File(filename +「.doc」),new File(filename +「.pdf」)); \t \t officeManager.stop();我收到此異常 NoClassDefFoundError:com/sun/star/lang/DisposedException –

回答

0

你可能想看看這個,很相似question
我在那裏寫了一個答案,因爲我沒有時間這樣做,所以還沒有測試。但它可能會解決你的問題,或者至少給你一些進一步研究的提示。