[英]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 中雙擊打開嵌入的文檔,這並沒有什么壞處。 然后出現錯誤消息,說找不到文檔的應用程序。
這是我的問題:
任何提示都非常感謝
最后我讓它運行了。 看看這里的解釋。
實際上,與使用 C# 將文件嵌入到 Open XML 文檔中的代碼相比,只有一個區別。 調用時,必須使用 StgCreateStorageEx OLE32.STGFMT.STGFMT_DOCFILE 而不是 STGFMT_STORAGE。
這使得它甚至可以在較新的 Adobe 版本上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.