我正在尝试使用 C# 和 Open XML 将图像从 url 插入到文档中。该图像可能会发生变化,因此我不想下载它,我希望它保留为外部参考。
我发现了几个像这样的例子,可以让我添加本地图像:
http://msdn.microsoft.com/en-us/library/bb497430.aspx http://msdn.microsoft.com/en-us/library/bb497430.aspx
我该如何调整它以获取 URI?或者还有另一种方法吗?
您可以通过快速零件字段将外部图像添加到 Word 文档。
有关说明,请参阅以下答案超级用户 https://superuser.com/questions/38870/in-microsoft-word-how-can-i-link-to-an-image-from-the-web-which-updates.
要以编程方式实现所描述的步骤,您必须
使用外部关系包含来自 URL 的图像。
以下是实现此目的的步骤:
- 创建 Picture 类的实例。
- 添加Shape来指定图片的样式(宽度/高度)。
- 使用Image Data 类指定外部关系的ID。
- 将外部关系添加到主文档部分。为外部关系提供您在步骤 3 中指定的相同 ID。
下面的代码只是实现了上面描述的步骤。图像被添加到
word文档中的第一段。
using (WordprocessingDocument newDoc = WordprocessingDocument.Open(@"c:\temp\external_img.docx", true))
{
var run = new Run();
var picture = new Picture();
var shape = new Shape() { Id = "_x0000_i1025", Style = "width:453.5pt;height:270.8pt" };
var imageData = new ImageData() { RelationshipId = "rId56" };
shape.Append(imageData);
picture.Append(shape);
run.Append(picture);
var paragraph = newdoc.MainDocumentPart.Document.Body.Elements<Paragraph>().FirstOrDefault();
paragraph.Append(run);
newDoc.MainDocumentPart.AddExternalRelationship(
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",
new System.Uri("<url to your picture>", System.UriKind.Absolute), "rId56");
}
在上面的代码中,我省略了定义形状类型的代码。我建议你使用
像这样的工具OpenXML SDK 生产力工具 http://www.microsoft.com/en-us/download/details.aspx?id=5124检查与图像有外部关系的 Word 文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)