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

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

最新版GroupDocs.Assembly


动态插入超链接

使用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 https://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 = "https://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 https://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 = "https://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 https://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 = "https://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 https://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 = "https://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 标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月15日
下一篇 2019年11月15日

相关推荐

发表回复

登录后才能评论