Гиперссылки и закладки удобны для пользователей, чтобы быстро перемещаться по соответствующему контенту. Когда мы щелкаем гиперссылку, она открывает URL-адрес в браузере или переходит к указанному местоположению закладки в документе. В этой статье мы узнаем, как динамически добавлять гиперссылки и закладки в отчеты с помощью C#.
В этой статье должны быть раскрыты следующие темы:
- C# API для динамического добавления гиперссылок и закладок
- Динамическое добавление гиперссылок с помощью C#
- Динамическое добавление закладок с помощью C#
- Вставить закладку как гиперссылку с помощью С#
C# API для динамического добавления гиперссылок и закладок
Для динамического добавления гиперссылок и закладок в отчеты мы будем использовать API GroupDocs.Assembly for .NET. Он позволяет создавать мощные приложения для автоматизации документов и создания отчетов. Он извлекает данные из источника данных в соответствии с определенным шаблоном документа, собирает их и создает отчеты в указанном формате вывода. Пожалуйста, либо скачайте DLL API, либо установите его с помощью NuGet.
PM> Install-Package GroupDocs.Assembly
Динамическое добавление гиперссылок с помощью C#
Мы можем динамически вставлять гиперссылки в отчеты, используя теги ссылок. Мы можем использовать тег ссылки в документе шаблона, как показано ниже:
<<link [uri_expression][display_text_expression]>>
Выражение uri определяет URI для гиперссылки, тогда как выражение displaytextexpression определяет текст, который будет отображаться для гиперссылки.
Мы можем динамически вставлять гиперссылки на отчеты, выполнив следующие шаги:
- Создайте экземпляр класса DocumentAssembler.
- Вызовите метод 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#
Мы можем динамически вставлять закладки в отчеты, используя теги закладок. Мы можем использовать тег закладки в документе шаблона, как показано ниже:
<<bookmark [bookmark_expression]>>
bookmarked_content
<</bookmark>>
Выражение bookmark определяет имя вставляемой закладки.
Мы можем динамически вставлять закладки в отчеты, выполнив следующие шаги:
- Создайте экземпляр класса DocumentAssembler.
- Вызовите метод 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"));
Получить бесплатную лицензию
Пожалуйста, попробуйте API без ознакомительных ограничений, запросив бесплатную временную лицензию.
Вывод
В этой статье мы узнали, как:
- динамически вставлять гиперссылки и закладки в отчеты с помощью C#;
- добавить гиперссылку в закладку динамически.
Кроме того, вы можете узнать больше о GroupDcos.Assembly for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.