2015-01-17 70 views
0

如何將pdf或png內容插入到使用java的docx文件中?使用java將.pdf doc或.png圖像內容插入到.docx文件

我以下列方式使用Apache POI API試過,但它不工作(它會產生一些垃圾doc文件):

XWPFDocument doc = new XWPFDocument(); 
String pdf = "D://capture1.pdf"; 
PdfReader reader = new PdfReader(pdf); 
PdfReaderContentParser parser = new PdfReaderContentParser(reader); 
for (int i = 1; i <= reader.getNumberOfPages(); i++) { 
    TextExtractionStrategy strategy = parser.processContent(i,new SimpleTextExtractionStrategy());  
    String text = strategy.getResultantText();   
    XWPFParagraph p = doc.createParagraph(); 
    XWPFRun run = p.createRun();  
    run.setText(text);   
    run.addBreak(BreakType.PAGE); 
} 
FileOutputStream out1 = new FileOutputStream("D://javadomain1.docx");  
doc.write(out1); 
out1.close(); 
reader.close(); 
System.out.println("Document converted successfully"); 
+0

.doc(Word文檔)和.docx(Word XML文檔)是兩種非常不同的格式。看着你的代碼,似乎你想生成後者(糾正我,如果我錯了),所以我編輯你的問題相應。 – NotGaeL

+0

您能提供輸入/輸出示例以及您正在使用的庫和版本嗎?我已經用poi-ooxml 3.11和itextpdf 5.5.4和http://www.energy.umich.edu/sites/default/files/pdf-sample.pdf文件試過了你的代碼,它似乎工作得很好(這裏是完整的課程:http://pastebin.com/Q9ccH4CN和使用Maven構建具有這些依賴項目的pom文件:http://pastebin.com/6TXUiuQP) – NotGaeL

+0

我正在使用這個jar itextpdf-5.4。 4.jar和poi-ooxml-3.7.jar.My pdf包含d3.js.生成的圖表,它生成空doc文件.thanks –

回答

2

你應該能夠與POI做到這一點,你可以肯定使用docx4j做它。

Here's sample code用於使用docx4j插入圖像。

請注意,要「插入PDF」,您需要OLE嵌入它。這很困難,因爲您需要將PDF轉換爲合適的二進制OLE對象。在docx4j中,執行此操作的助手代碼是商業企業版的一部分。

相關問題