代码之家  ›  专栏  ›  技术社区  ›  DilbertDave

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

  •  2
  • DilbertDave  · 技术社区  · 15 年前

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

    现在我已经读过了 Brian Jones' article 不过,虽然听起来很有希望,但我遇到了一个问题。

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

    但是,当我通过代码做同样的事情时,我会在/embeddings文件夹中得到一个名为package.bin的文件,当我打开文档时,会收到一个备用图像,告诉我双击它来激活嵌入的文档。这不是我想要的。

    有人能解释一下我如何嵌入文档,使它们看起来像.docx文件而不是.bin吗?我希望这将克服双击激活问题。

    提前谢谢

    1 回复  |  直到 15 年前
        1
  •  3
  •   DilbertDave    15 年前

    我把这个问题贴在 OpenXMLDeveloper forums 然后被引向另一个人 article by Brian Jones .

    虽然博客给我指明了正确的方向,但它不是一颗神奇的子弹。我在格式化方面遇到了一些问题,通过向altchunk添加matchsource元素解决了这些问题;

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

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

    希望这能帮助其他人,因为目前似乎没有太多的信息。