使用 C# 动态添加超链接和书签

超链接和书签便于用户快速浏览相关内容。当我们单击超链接时,它会在浏览器中打开 URL 或导航到文档中指定的书签位置。在本文中,我们将学习如何使用 C# 为报表动态添加超链接和书签。

本文将涵盖以下主题:

为了动态地向报告添加超链接和书签,我们将使用 GroupDocs.Assembly for .NET API。它允许您构建强大的文档自动化和报告生成应用程序。它根据定义的模板文档从数据源中获取数据,组装它,并以指定的输出格式生成报告。请下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package GroupDocs.Assembly

我们可以使用链接标签动态地将超链接插入到报表中。我们可以在模板文档中使用链接标签,如下所示:

<<link [uri_expression][display_text_expression]>>

uriexpression 定义超链接的 URI,而 displaytextexpression 定义要为超链接显示的文本。

我们可以按照以下步骤动态插入超链接到报告:

  1. 创建 DocumentAssembler 类的实例。
  2. 调用 AssembleDocument() 方法来组装文档。它将源文档模板路径、目标文档路径和数据源作为参数。

以下代码示例展示了如何使用 C# 动态添加超链接。

// 此代码示例演示如何动态添加超链接。
// 设置源 
const string strDocumentTemplate = @"D:\Files\Assembly\Insertinghyperlink.docx";

// 设置目的地 
const string strDocumentReport = @"D:\Files\Assembly\Insertinghyperlink_out.docx";

// 设置 Uri 表达式
const string uriExpression = "https://www.groupdocs.com/";

// 设置显示文本表达式
const string displayTextExpression = "GroupDocs";

// 实例化 DocumentAssembler 类
DocumentAssembler assembler = new DocumentAssembler();

// 组装文件 
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(uriExpression, "uriExpression"),
    new DataSourceInfo(displayTextExpression, "displayTextExpression"));
使用 C# 动态添加超链接。

使用 C# 动态添加超链接。

使用 C# 动态添加书签

我们可以使用书签标签动态地将书签插入到报表中。我们可以在模板文档中使用书签标签,如下所示:

<<bookmark [bookmark_expression]>>
bookmarked_content
<</bookmark>>

书签表达式定义要插入的书签的名称。

我们可以按照以下步骤将书签动态插入到报告中:

  1. 创建 DocumentAssembler 类的实例。
  2. 调用 AssembleDocument() 方法来组装文档。它将源文档模板路径、目标文档路径和数据源作为参数。

以下代码示例展示了如何使用 C# 动态添加书签。

// 此代码示例演示如何动态添加书签。
// 设置源 
const string strDocumentTemplate = @"D:\Files\Assembly\Insertingbookmark.xlsx";

// 设置目的地 
const string strDocumentReport = @"D:\Files\Assembly\Insertingbookmark_out.xlsx";

// 设置 Uri 表达式
const String bookmark_expression = "gd_bookmark";

// 设置显示文本表达式
const String displayTextExpression = "GroupDocs";

// 实例化 DocumentAssembler 类
DocumentAssembler assembler = new DocumentAssembler();

// 组装文件 
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(bookmark_expression, "bookmark_expression"),
    new DataSourceInfo(displayTextExpression, "displayTextExpression"));

我们还可以按照前面提到的步骤将书签链接到文档中的超链接。但是,我们只需为 uriExpression 和 bookmarkexpression 设置相同的值,如下所示:

const string bookmark_expression = "gd_bookmark";
const String uriExpression = "gd_bookmark";

以下代码示例演示如何使用 C# 将书签作为超链接插入。

// 此代码示例演示如何将书签添加为超链接。
// 设置源 
const string strDocumentTemplate = @"D:\Files\Assembly\input.docx";

// 设置目的地 
const string strDocumentReport = @"D:\Files\Assembly\output.docx";

// 设置 Uri 表达式
const string bookmark_expression = "gd_bookmark";

// 设置显示文本表达式
const string displayTextExpression = "GroupDocs";

// 设置 Uri 表达式
const String uriExpression = "gd_bookmark";

// 设置显示文本表达式
const String uriTextExpression = "GroupDocs";

// 实例化 DocumentAssembler 类
DocumentAssembler assembler = new DocumentAssembler();

// 组装文件 
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
                           new DataSourceInfo(uriExpression, "uriExpression"), 
                           new DataSourceInfo(uriTextExpression, "uriTextExpression"),
                           new DataSourceInfo(bookmark_expression, "bookmark_expression"),
                           new DataSourceInfo(displayTextExpression, "displayTextExpression"));
使用 C# 将书签插入为超链接。

使用 C# 将书签插入为超链接。

获得免费许可证

请通过申请 免费的临时许可证 来尝试不受评估限制的 API。

结论

在本文中,我们学习了如何:

  • 使用 C# 动态插入超链接和书签到报表;
  • 动态添加到书签的超链接。

此外,您可以使用 documentation 了解更多关于 GroupDcos.Assembly for .NET API 的信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看