簡體   English   中英

無法使用OpenXML SDK將openXML文檔嵌入另一個文檔中

[英]Cannot embed an openXML document inside another using OpenXML SDK

我試圖將一個OpenXML單詞文檔嵌入另一個OpenXML單詞文檔中,並且它正在創建損壞的文件。 我已經查看過此帖子http://blogs.msdn.com/b/brian_jones/archive/2009/06/30/embedding-an-open-xml-file-in-another-open-xml-file.aspx並且此堆棧溢出發布了將OpenXML文檔嵌入另一個OpenXml文檔中 ,我想我正在按照說明進行操作,但沒有得到相同的結果。

我的代碼看起來像這樣。

foreach (KeyValuePair<string, byte[]> docKV in files)
            {
                var embeddedPackagePart = document.MainDocumentPart.AddNewPart<EmbeddedPackagePart>("application/vnd.openxmlformats-officedocument.wordprocessingml.document", "rfp" + docKV.key);
                var stream = new MemoryStream(docKV.Value);
                embeddedPackagePart.FeedData(stream);
                stream.Close();
}

因此,基本上,我要遍歷字典中存儲的文件列表並嵌入每個文件。 我刪除了創建實際OpenXML標記以鏈接到嵌入式對象的代碼,以嘗試縮小錯誤的范圍。 據我所知,實際的嵌入是導致問題的原因。

我還使用OpenXML SDK Productivity工具打開了生成的文檔,但缺少在手動嵌入文件的文檔上看到的嵌入部分。

對我在做什么錯有任何想法嗎?

您可以閱讀合並文字處理文檔 示例代碼也可用。

我發現了問題。 在處理WordprocessingDocument之前,我沒有打電話給WordprocessingDocument.Close。 如果要添加新的文檔部分,則必須調用Close()才能將其寫入基礎流。

暫無
暫無

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

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