在书签中插入图片 (OpenXML)
本文关键字:OpenXML 书签 插入 | 更新日期: 2023-09-27 17:56:54
我快疯了,试图找到如何在我的书签中插入图片......
目前,我在插入文本或表格方面没有问题:我找到书签并像约翰一样插入该位置: 使用Open XML SDK替换Word文件中的书签文本
现在我想将图像发送到此书签。我正在阅读以下文章:
-
http://msdn.microsoft.com/en-美国/图书馆/BB497430(Office.14).aspx
-
http://social.msdn.microsoft.com/Forums/en-US/oxmlsdk/thread/6d9066db-a154-475d-9731-944c8ce13e67/
-
http://msdn.microsoft.com/en-us/library/ee342530.aspx
。但我无法使用我的模板 dotx 和书签来做到这一点。一些想法?
这是我用来在书签中插入段落的代码:
Run runImg = new Run();
runImg.Append(element);
Paragraph parImg = new Paragraph();
parImg.Append(runImg);
foreach (BookmarkStart bookmarkStart in bookmarkMap.Values)
{
if (bookmarkStart.Name.Value == _nomBM)
{
bookmarkStart.FirstChild.PrependChild(parImg);
}
}
谢谢!
在书签中插入图片应该像将图片插入 Word 文档本身一样工作。 上述任何链接都应向您展示如何正确插入图片。 关键是找到要插入的书签,并确保在<w:bookmarkStart>
和<w:bookmarkEnd>
元素之间插入包含图片的段落。 如果这是您正在做的事情,但您仍然遇到问题,请发布您的代码,以便我们查看。
编辑
看到您的代码后,问题是<w:bookmarkStart>
元素是<w:p>
元素的子元素。您想找到<w:bookmarkStart>
的父元素,该父元素将成为<w:p>
元素,然后使用如下所示的内容插入图像段落作为下一个元素:
bookmarkStart.Parent.InsertAfterSelf<Paragraph>(parImg);
时已晚,但请尝试以下操作,您可能会更接近书签位置
bookmarkStart.Parent.InsertBeforeSelf<Paragraph>(parImg);