java - 使用 java 将 .pdf doc 或 .png 图像内容插入到 .docx 文件中

标签 java pdf png apache-poi docx

如何使用 java 将 pdf 或 png 内容插入到 docx 文件中?

我尝试过使用 Apache POI API按照以下方式,但它不起作用(它生成一些垃圾文档文件):

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

最佳答案

您应该能够使用 POI 做到这一点,并且您当然可以使用 docx4j 做到这一点。

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

请注意,要“插入 PDF”,您需要 OLE 嵌入它。这更加困难,因为您需要将 PDF 转换为合适的二进制 OLE 对象。在 docx4j 中,用于执行此操作的帮助程序代码是商业企业版的一部分。

关于java - 使用 java 将 .pdf doc 或 .png 图像内容插入到 .docx 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27999417/

相关文章:

java - 如何将 XML 转换为 List<Map>

java - 如何在 Apache PDFBox 中呈现彩色文本

java - 使用文件集合,获取与特定文件夹相关的 getPath()

java - 在屏幕上显示时删除 pdf 文件的安全方法

android - PNG图像在android中的变化

ImageMagick 命令行将 PNG 转换为具有透明度的 EPS

java - 使用 webviewfragment 更改方向时如何保存 webview 的状态

java - 从Java中的另一个对象获取空值,但在自己的类中获取值

java - `java` 在此 Python 进程中找不到命令。请确保已安装 Java 并将 PATH 设置为 `java`

c# - 在 .NET 中读取/保存 PixelFormat.Format48bppRgb PNG 位图?