gpt4 book ai didi

c# - 如何使用 OpenXml 将外部图像添加到 word 文档?

转载 作者:行者123 更新时间:2023-11-30 15:02:30 24 4
gpt4 key购买 nike

我正在尝试使用 C# 和 Open XML 将图像从 url 插入到文档中。图片可能会更改,所以我不想下载它,我希望它保留为外部引用。

我发现了几个这样的示例,它们允许我添加本地镜像:

http://msdn.microsoft.com/en-us/library/bb497430.aspx

我如何调整它以获取 URI?还是完全有另一种方法?

最佳答案

您可以通过快速部件字段将外部图像添加到 Word 文档。有关说明,请参阅 superuser 上的以下答案.

要以编程方式实现所描述的步骤,您必须使用外部关系来包含来自 URL 的图像。

以下是完成此操作的步骤:

  1. 创建图片类的实例。
  2. 添加一个Shape来指定图片的样式(宽/高)。
  3. 使用ImageData类指定外部关系的ID。
  4. 向主文档部分添加外部关系。给外在 与您在第 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 productivity tool 的工具检查与图像具有外部关系的 word 文档。

关于c# - 如何使用 OpenXml 将外部图像添加到 word 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com