Java 使用docx4j在pptx中嵌入PDF的问题
我必须在运行时将pdf文件附加到pptx幻灯片中 尝试了以下操作: 在pptx幻灯片中附加了一个pdf文件(插入->对象->Adobe Acrobat文档)。 使用以下代码访问对象:Java 使用docx4j在pptx中嵌入PDF的问题,java,pdf,powerpoint,docx4j,Java,Pdf,Powerpoint,Docx4j,我必须在运行时将pdf文件附加到pptx幻灯片中 尝试了以下操作: 在pptx幻灯片中附加了一个pdf文件(插入->对象->Adobe Acrobat文档)。 使用以下代码访问对象: OleObjectBinaryPart oleObjectBinaryPart = new OleObjectBinaryPart(new PartName("/ppt/embeddings/oleObject1.bin")); 使用以下代码更新oleObjectBinaryPart: oleObjectBina
OleObjectBinaryPart oleObjectBinaryPart = new OleObjectBinaryPart(new PartName("/ppt/embeddings/oleObject1.bin"));
使用以下代码更新oleObjectBinaryPart:
oleObjectBinaryPart.setBinaryData(reportBlob.getBinaryStream());
使用新对象更新pptx:
pptMlPackage.getParts().getParts().put(new PartName("/ppt/embeddings/oleObject1.bin"), oleObjectBinaryPart);
pptMlPackage.save(new File("C:/test_report/pptx_out.pptx"));
执行此代码后,生成的pptx_out.pptx文件没有任何错误。但在尝试在powerpoint 2010中打开嵌入的pdf时,我遇到以下错误:
找不到服务器应用程序、源文件或项,或返回未知错误。您可能需要重新安装服务器应用程序
更新时oleobject是否有问题?您不能将PDF作为二进制blob附加;它必须采用正确的OLE格式 见下文