簡體   English   中英

對於較新版本,在 PowerPoint 中使用 OpenXml 嵌入 Pdf 失敗

[英]Embedding Pdf with OpenXml in PowerPoint fails for newer versions

我需要通過 OpenXml 以編程方式將 Pdf 文檔嵌入到 PowerPoint 中。 據此: 使用 C#文件嵌入到 Open XML 文檔中,可以通過 OLE32.StgCreateStorageEx 方法創建必要的圖片以及 oleobject。

不幸的是,這不適用於當前版本的 PDF。 在 64 位操作系統上,這似乎只適用於 Abobe 版本 9。更高版本失敗,錯誤代碼為 0x8000FFFF,轉換為災難性故障。 經測試,確實如此。 即使是第 9 版也不可靠。

作為后備,我使用了 google 的pdfium從第一頁創建了一個 png。 不幸的是,這只是進行了一半,因為合並的 oleobject 與原始的 oleobject 非常不同。 直到用戶嘗試通過在 Powerpoint 中雙擊打開嵌入的文檔,這並沒有什么壞處。 然后出現錯誤消息,說找不到文檔的應用程序。

這是我的問題:

  • 有沒有關於如何改進程序以使其即使在從未使用過的版本時也能工作的信息?
  • 有誰知道對 pdf 文檔進行哪些更改才能合並像 pdf 這樣的類似對象呢?

任何提示都非常感謝

最后我讓它運行了。 看看這里的解釋。

實際上,與使用 C# 將文件嵌入到 Open XML 文檔中的代碼相比,只有一個區別。 調用時,必須使用 StgCreateStorageEx OLE32.STGFMT.STGFMT_DOCFILE 而不是 STGFMT_STORAGE。

這使得它甚至可以在較新的 Adob​​e 版本上運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM