在另一个OpenXml文档中嵌入OpenXML文档

时间:2009-08-13 09:47:02

标签: c# openxml

我需要在文件夹中收集一些.docx文件,并将它们“链接”到一个文档中,然后显示给用户。

现在我读过Brian Jones' article但是听起来很有希望我遇到了一个问题。

当我使用Word 2007手动执行操作时,我最终会在/ embeddings文件夹中找到docx文件的副本,当我打开文档时,我会看到嵌入的内容。

但是,当我通过代码执行同样的操作时,我最终会在/ embeddings文件夹中找到一个名为package.bin的文件,当我打开文档时,我会看到备用图片,告诉我双击它激活嵌入的文档。这不是我想要的。

有人可以澄清我如何嵌入文档,使它们显示为.docx文件而不是.bin?我希望这也将克服Double-Click to Activate问题。

先谢谢

1 个答案:

答案 0 :(得分:3)

我在OpenXMLDeveloper forums上发布了此问题,并被定向到另一个article by Brian Jones

虽然博客指出了我正确的方向,但它并不是一个神奇的子弹。我遇到了通过向AltChunk添加MatchSource元素而解决的格式问题;

MatchSource matchSrc = new MatchSource();
matchSrc.Val = DocumentFormat.OpenXml.Wordprocessing.BooleanValues.True;
altChunk.AppendChild(matchSrc);

我还需要从合并的文档中删除页脚,因为它们在新文档中被复制(导致主页脚中有许多页脚!)。现在我只是在主文档的模板中有页脚。

希望这可以帮助其他人,因为那时似乎没有太多的信息。