彩票走势图

如何在GroupDocs.Assembly中实现动态插入超链接?

翻译|使用教程|编辑:况鱼杰|2019-12-18 13:48:46.007|阅读 252 次

概述:GroupDocs.Assembly是一个在线文档生成服务,允许您为现有的文档模板(合同、NDA、应用等等)添加表单域,并将其发送给收件人填写。本文将会介绍该产品更新至v19.11时的新功能-动态插入书签,单元格和幻灯片的链接。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

GroupDocs.Assembly是一个在线文档生成服务,允许您为现有的文档模板(合同、NDA、应用等等)添加表单域,并将其发送给收件人填写。通过合并模板和用户填入的数据,GroupDocs能自动生成定制化文档,和初始模板区别不大,但是包含了收件人填写的数据。

点击下载最新版GroupDocs.Assembly


本文将会介绍该产品更新至v19.11时的新功能-动态插入书签,单元格和幻灯片的链接。如果想要了解更多更新内容可以点击此处>>查看或者联系

动态插入超链接

 使用GroupDocs.Assembly,您可以使用链接标签将超链接动态插入到报表中。链接标记的语法定义如下:

<<link [uri_expression][display_text_expression]>>

在此,  uri_expression 为要动态插入的超链接定义URI。该表达式是强制性的,必须返回非空值。反过来,  display_text_expression  定义要为超链接显示的文本。此表达式是可选的。如果省略它或返回一个空值,则在运行时,  还将uri_expression  值用作显示文本。 uri_expression 和display_text_expression的值都可以是任何类型。在运行时,将调用Object.ToString()以获取这些表达式的值的文本表示形式,这对于诸如Uri 之类的类型的表达式非常有用。

例如,w在构建报告时,将对uri_expression和display_text_expression进行评估,并使用它们的结果来构建超链接,该超链接随后将替换相应的链接标记。

动态插入书签链接

插入文字处理文档和电子邮件的链接

您还可以使用链接标签动态地将指向报告的书签的链接插入。链接标记的语法定义如下:

<<link [uri_or_bookmark_expression][display_text_expression]>>

此处, uri_or_bookmark_expression定义了URI或同一文档中书签的名称,以便动态插入超链接。该表达式是强制性的,必须返回非空值。反过来,display_text_expression定义要为超链接显示的文本。此表达式是可选的。如果省略它或返回一个空值,则在运行时,  还将uri_or_bookmark_expression值用作显示文本。

注意:

  • uri_or_bookmark_expression和display_text_expression的值都可以是任何类型。在运行时,将调用Object.ToString()来获取这些表达式的值的文本表示形式,这对于诸如Uri之类的类型的表达式很有用。在生成报告时,将评估uri_or_bookmark_expression和display_text_expression并将它们的结果用于构造超链接,该超链接随后将替换相应的链接标记。如果uri_or_bookmark_expression返回同一文档中书签的名称,则超链接导航到该书签。否则,超链接将导航到相应的外部资源。

  • 链接标记不能在图表内使用。

插入电子表格文档的单元格链接

对于电子表格文档,链接标记的行为如下更改。如果在运行时在链接标记中定义的表达式被评估为单元格或单元格范围引用,则该标签将替换为指向相应单元格或单元格范围的链接。

下表描述了单元格和单元格范围引用的受支持格式。

描述 格式
引用同一工作表中的单元格 cell_name A1
引用另一个工作表中的单元格 工作表名称!单元名称 Sheet1!A1
引用同一工作表中的单元格范围 start_cell_name:end_cell_name A1:B2
引用另一个工作表中的单元格范围 worksheet_name!start_cell_name:end_cell_name Sheet1!A1:B2

以下是示例语法,如果需要插入到单元格A1的链接:

<<link ["A1"] ["Home"]>>

插入演示文稿幻灯片的链接

对于Presentation文档,链接标记的行为如下更改。如果将链接标记中定义的表达式评估为SlideN值,其中N是同一Presentation文档中幻灯片的基于一个索引的索引,则在运行时,标记将替换为指向相应幻灯片的链接。

请参见以下语法示例:

<<link ["Slide1"] ["Home"]>>

代码示例和模板

文字处理文件

// For complete examples and data files, please go to //github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET    
//setting up source     
const String strDocumentTemplate = "Word Templates/Dynamic Hyperlink.docx";    
//Setting up destination     
const String strDocumentReport = "Word Reports/Dynamic Hyperlink.docx";    
//Setting up Uri Expression    
const String uriExpression = "//www.groupdocs.com/";    
//Setting up Display Text Expression    
const String displayTextExpression = "GroupDocs";    
try    
{	    
//Instantiate DocumentAssembler class    
DocumentAssembler assembler = new DocumentAssembler();    
//Call AssembleDocument to assemble document     
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport),    
new DataSourceInfo(uriExpression,"uriExpression"),  new DataSourceInfo(displayTextExpression,"displayTextExpression"));    
}    
catch (Exception ex)    
{    
Console.WriteLine(ex.Message);    
}

演示文件

// For complete examples and data files, please go to //github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET    
//setting up source     
const String strDocumentTemplate = "Presentation Templates/Dynamic Hyperlink.pptx";    
//Setting up destination     
const String strDocumentReport = "Presentation Reports/Dynamic Hyperlink.pptx";    
//Setting up Uri Expression    
const String uriExpression = "//www.groupdocs.com/";    
//Setting up Display Text Expression    
const String displayTextExpression = "GroupDocs";    
try    
{    
//Instantiate DocumentAssembler class    
DocumentAssembler assembler = new DocumentAssembler();    
//Call AssembleDocument to assemble document     
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport),    
new DataSourceInfo(uriExpression,"uriExpression"),  new DataSourceInfo(displayTextExpression,"displayTextExpression"));    
}    
catch (Exception ex)    
{    
Console.WriteLine(ex.Message);    
}

电子表格文件

// For complete examples and data files, please go to //github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET    
//setting up source     
const String strDocumentTemplate = "Spreadsheet Templates/Dynamic Hyperlink.xlsx";    
//Setting up destination     
const String strDocumentReport = "Spreadsheet Reports/Dynamic Hyperlink.xlsx";    
//Setting up Uri Expression    
const String uriExpression = "//www.groupdocs.com/";    
//Setting up Display Text Expression    
const String displayTextExpression = "GroupDocs";    
try    
{    
//Instantiate DocumentAssembler class    
DocumentAssembler assembler = new DocumentAssembler();    
//Call AssembleDocument to assemble document     
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport),    
new DataSourceInfo(uriExpression,"uriExpression"),  new DataSourceInfo(displayTextExpression,"displayTextExpression"));    
}    
catch (Exception ex)    
{    
Console.WriteLine(ex.Message);    
}

电子邮件文件

// For complete examples and data files, please go to //github.com/groupdocs-assembly/GroupDocs.Assembly-for-.NET    
//setting up source     
const String strDocumentTemplate = "Email Templates/Dynamic Hyperlink.msg";    
//Setting up destination     
const String strDocumentReport = "Email Reports/Dynamic Hyperlink.msg";    
//Setting up Uri Expression    
const String uriExpression = "//www.groupdocs.com/";    
//Setting up Display Text Expression    
const String displayTextExpression = "GroupDocs";    
try    
{    
//Instantiate DocumentAssembler class    
DocumentAssembler assembler = new DocumentAssembler();    
//Call AssembleDocument to assemble document     
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate), CommonUtilities.SetDestinationDocument(strDocumentReport),    
new DataSourceInfo(uriExpression,"uriExpression"),  new DataSourceInfo(displayTextExpression,"displayTextExpression"));    
}    
catch (Exception ex)    
{    
Console.WriteLine(ex.Message);    
}

以上模板示例下载:动态插入超链接代码示例


想要了解更多有关GroupDocs.Assembly的朋友,可以联系

更多精彩内容,欢迎关注下方的微信公众号,获取更多产品咨询

慧聚IT


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP