InsertHyperlink

在文档中插入超链接。

public Field InsertHyperlink(string displayText, string urlOrBookmark, bool isBookmark)
范围类型描述
displayTextString要在文档中显示的链接文本。
urlOrBookmarkString链接目标。可以是 URL 或文档内书签的名称。 此方法始终会在 URL 的开头和结尾添加撇号。
isBookmarkBoolean真的如果前一个参数是文档内书签的名称; 错误的前一个参数是一个URL。

返回值

一个Field代表插入字段的对象。

评论

请注意,您需要使用Font财产。

此方法内部调用InsertField在文档中插入 MS Word HYPERLINK field 。

例子

显示如何插入超链接字段。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("For more information, please visit the ");

// 插入超链接并使用自定义格式强调它。
// 超链接将是一段可点击的文本,它将带我们到 URL 中指定的位置。
builder.Font.Color = Color.Blue;
builder.Font.Underline = Underline.Single;
builder.InsertHyperlink("Google website", "https://www.google.com", false);
builder.Font.ClearFormatting();
builder.Writeln(".");

// 按住 Ctrl 键并左键单击 Microsoft Word 中文本中的链接将通过新的 Web 浏览器窗口带我们进入 URL。
doc.Save(ArtifactsDir + "DocumentBuilder.InsertHyperlink.docx");

展示如何插入引用本地书签的超链接。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.StartBookmark("Bookmark1");
builder.Write("Bookmarked text. ");
builder.EndBookmark("Bookmark1");
builder.Writeln("Text outside of the bookmark.");

// 插入一个超链接字段,链接到书签。我们可以传递字段开关
// 作为包含所引用书签名称的参数的一部分传递给“InsertHyperlink”方法。
builder.Font.Color = Color.Blue;
builder.Font.Underline = Underline.Single;
FieldHyperlink hyperlink = (FieldHyperlink)builder.InsertHyperlink("Link to Bookmark1", "Bookmark1", true);
hyperlink.ScreenTip = "Hyperlink Tip";

doc.Save(ArtifactsDir + "DocumentBuilder.InsertHyperlinkToLocalBookmark.docx");

展示如何使用文档构建器的格式化堆栈。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 设置字体格式,然后编写超链接之前的文本。
builder.Font.Name = "Arial";
builder.Font.Size = 24;
builder.Write("To visit Google, hold Ctrl and click ");

// 在堆栈上保留我们当前的格式配置。
builder.PushFont();

// 通过应用新样式来改变构建器的当前格式。
builder.Font.StyleIdentifier = StyleIdentifier.Hyperlink;
builder.InsertHyperlink("here", "http://www.google.com", false);

Assert.AreEqual(Color.Blue.ToArgb(), builder.Font.Color.ToArgb());
Assert.AreEqual(Underline.Single, builder.Font.Underline);

// 恢复我们之前保存的字体格式并从堆栈中移除元素。
builder.PopFont();

Assert.AreEqual(Color.Empty.ToArgb(), builder.Font.Color.ToArgb());
Assert.AreEqual(Underline.None, builder.Font.Underline);

builder.Write(". We hope you enjoyed the example.");

doc.Save(ArtifactsDir + "DocumentBuilder.PushPopFont.docx");

也可以看看