我疯狂地试图找到如何在我的书签中插入图片......
目前我对插入文本或表格没有任何问题:我找到了书签,并按照John的方式插入该位置:Replace bookmark text in Word file using Open XML SDK
现在我想将图像发送到此书签。我正在读这样的文章:
http://msdn.microsoft.com/en-us/library/bb497430(office.14).aspx
http://social.msdn.microsoft.com/Forums/en-US/oxmlsdk/thread/6d9066db-a154-475d-9731-944c8ce13e67/
...但我无法使用我的模板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);
}
}
谢谢!
答案 0 :(得分:3)
在书签中插入图片应该就像将图片插入word文档本身一样。以上链接中的任何一个都应该向您展示如何正确插入图片。关键是要找到要插入的书签,并确保在<w:bookmarkStart>
和<w:bookmarkEnd>
元素之间插入包含图片的段落。如果您正在做的事情仍然存在问题,请发布您的代码,以便我们查看。
修改强>
看到您的代码后,问题是<w:bookmarkStart>
元素是<w:p>
元素的子元素。您想要找到<w:bookmarkStart>
的父级<w:p>
元素,然后使用以下内容将您的图片段落作为下一个元素插入:
bookmarkStart.Parent.InsertAfterSelf<Paragraph>(parImg);
答案 1 :(得分:0)
我知道为时已晚,但尝试以下内容可能会更接近书签位置
bookmarkStart.Parent.InsertBeforeSelf<Paragraph>(parImg);