2015-06-10 123 views
0

我需要通过OpenXml以编程方式将PowerPoint文档嵌入到PowerPoint中。据此:Embedding files into Open XML documents using C#可以通过OLE32.StgCreateStorageEx方法创建必要的图片以及oleobject。在PowerPoint中使用OpenXml嵌入PDF与较新版本失败

不幸的是,这并不适用于当前版本的PDF。 在64位操作系统上,这似乎只适用于Abobe版本9.较高版本会失败,错误代码为0x8000FFFF,这会导致灾难性故障。经过测试,这是真实的。即使是版本9也不可靠。

作为一个后备,我使用谷歌从第一页创建一个PNG的pdfium。不幸的是,这只是其中的一半,因为所包含的oleobject与原始的非常不同。直到用户尝试通过Powerpoint内的双击打开嵌入文档时才会受到伤害。然后出现一条错误消息,表示无法找到该文档的应用程序。

这里我的问题:

  • 在如何改善,使其与从未版本甚至工作程序的人的信息?
  • 有没有人知道对pdf文档所做的更改是否需要合并类似的对象,比如pdf呢?

任何暗示的高度赞赏

回答

0

最后我做到了运行。看看here的解释。

实际上,与Embedding files into Open XML documents using C#中的代码相比,只有一个区别。在调用时,必须使用StgCreateStorageEx OLE32.STGFMT.STGFMT_DOCFILE,而不是STGFMT_STORAGE。

即使使用较新的Adobe版本,也能使其运行。

相关问题