插入图片
问题描述:
我快要疯了试图找到如何插入图片在我的书签...插入图片
目前我有插入文本或表格没有问题:我发现书签和插入在那个位置像约翰的方式: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);
}
}
谢谢!
答
在书签中插入一张图片应该像在将图片插入到word文档本身中一样工作。上述任何链接都应该向您展示如何正确插入图片。关键是要找到要插入的书签,并确保在<w:bookmarkStart>
和<w:bookmarkEnd>
元素之间插入包含该图片的段落。如果这是你正在做的事,而你仍然有问题,请发布你的代码,以便我们看看。
编辑
看到你的代码后的问题是<w:bookmarkStart>
元素是<w:p>
元素的子元素。你想找到<w:bookmarkStart>
的母公司,这将是<w:p>
元素,然后用这样的插入图像的一段作为下一个元素:
bookmarkStart.Parent.InsertAfterSelf<Paragraph>(parImg);
答
我知道这是为时已晚,但试试下面你可以得到一位接近书签位置
bookmarkStart.Parent.InsertBeforeSelf<Paragraph>(parImg);
OK,我知道......你看,如果我这样做:document.MainDocumentPart.Document.Body.AppendChild(新段(新润(元)));其中element是具有所有propiets和格式的图像......效果很好,图像插入到主文档中。但是当我想插入我的书签时,我这样写: – Displaying 2011-05-19 08:21:55
Run runImg = new Run(); runImg.Append(元件);段落parImg =新的段落(); parImg.Append(runImg); (bookmarkStart bookmarkStart in bookmarkMap.Values){if(bookmarkStart.Name.Value == _nomBM){bookmarkStart.FirstChild.PrependChild(parImg); }} DOESEN'T WORK – Displaying 2011-05-19 08:23:43
@Displaying - 这是因为工作簿部分开始元素是段落元素的子元素。一旦找到想要的起始书签元素,就可以获取其父项,然后将图像段添加为下一个元素。像'bookmarkStart.Parent.InsertAfterSelf(parImg);'看到我的编辑了相同的信息。 –
amurra
2011-05-19 11:39:26