0

我必须在运行时在 pptx 幻灯片中附加一个 pdf 文件。

尝试了以下方法:

在 pptx 幻灯片中附加了一个 pdf 文件(插入 -> 对象 -> Adob​​e Acrobat 文档)。使用以下代码访问 oleobject:

OleObjectBinaryPart oleObjectBinaryPart = new OleObjectBinaryPart(new PartName("/ppt/embeddings/oleObject1.bin"));

使用以下代码更新 oleObjectBinaryPart:

oleObjectBinaryPart.setBinaryData(reportBlob.getBinaryStream());

用新的 oleobject 更新 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有问题吗?

4

1 回答 1

0

您不能只将 PDF 作为二进制 blob 附加;它必须采用正确的 OLE 格式。

进一步看这个讨论

于 2013-08-23T23:31:31.870 回答