PDF — это многофункциональный формат документа, который поддерживает ряд элементов, включая аннотации, мультимедиа, формы и т. д. Гиперссылка — это важный элемент, который используется для навигации внутри PDF-файла, от одного PDF-файла к другому, к веб-страница и т. д. При программном создании PDF-документов часто может потребоваться вставка гиперссылок. Соответственно, в этой статье вы узнаете, как добавлять и обновлять гиперссылки в PDF-файлах на C# .NET.
- .NET API для добавления гиперссылок в PDF
- Добавить гиперссылку в PDF
- Добавить гиперссылку во внешний PDF-файл
- Вставить гиперссылку на определенную страницу
- Обновить гиперссылку в PDF
С# .NET API для добавления или обновления гиперссылок в PDF
Для управления гиперссылками в файлах PDF мы будем использовать Aspose.PDF for .NET. Это популярный API, который позволяет создавать, обрабатывать и преобразовывать PDF-файлы из приложений .NET. Вы можете скачать двоичные файлы API или установить его с помощью NuGet.
PM> Install-Package Aspose.PDF
Добавить гиперссылку в PDF на С#
Ниже приведены шаги для добавления гиперссылки в файл PDF на C#.
- Создайте новый PDF-файл или загрузите существующий, используя класс Document.
- Получите ссылку на страницу, на которую вы хотите добавить гиперссылку из коллекции Document.Pages.
- Создайте объект класса LinkAnnotation и задайте его свойства.
- Инициализируйте свойство LinkAnnotation.Action для объекта GoToURIAction, содержащего URL-адрес.
- Добавить ссылку на коллекцию Page.Annotations.
- Сохраните PDF, используя метод Document.Save(String).
В следующем примере кода показано, как добавить гиперссылку в PDF на C#.
// Открыть документ
Document document = new Document("input.pdf");
// Получить ссылку на страницу
var page = document.Pages[1];
// Создать объект аннотации «Ссылка»
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
// Создайте объект границы для LinkAnnotation
Border border = new Border(link);
// Установите значение ширины границы как 0
border.Width = 0;
// Установите границу для LinkAnnotation
link.Border = border;
// Укажите тип ссылки как удаленный URI
link.Action = new GoToURIAction("www.aspose.com");
// Добавить аннотацию ссылки в коллекцию аннотаций первой страницы PDF-файла
page.Annotations.Add(link);
// Сохранить обновленный документ
document.Save("output.pdf");
Добавить гиперссылку во внешний PDF-файл на С#
Вы также можете перейти к внешнему PDF-файлу из одного PDF-файла с помощью гиперссылки. Следующие шаги демонстрируют, как добавить гиперссылку во внешний PDF-файл на C#.
- Создайте новый PDF-файл или загрузите существующий, используя класс Document.
- Получите ссылку на страницу, на которую вы хотите добавить гиперссылку из коллекции Document.Pages.
- Создайте объект класса LinkAnnotation и задайте его свойства.
- Инициализируйте свойство LinkAnnotation.Action для объекта GoToRemoteAction, содержащего путь к внешнему PDF.
- Добавить ссылку на коллекцию Page.Annotations.
- Сохраните документ методом Document.Save(String).
В следующем примере кода показано, как добавить гиперссылку во внешний PDF-файл на C#.
// Открыть документ
Document document = new Document("input.pdf");
// Получить ссылку на страницу
var page = document.Pages[1];
// Создать гиперссылку
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Установить действие
link.Action = new GoToRemoteAction("external.pdf", 1);
// Добавить гиперссылку на страницу
page.Annotations.Add(link);
// Сохранить обновленный документ
document.Save("output.pdf");
Вставить гиперссылку на определенную страницу PDF
В некоторых случаях вам необходимо переходить с одной страницы на другую в документе PDF. Класс LocalHyperlink используется для перехода к определенной странице в PDF-файле. Ниже приведены шаги для достижения этого.
- Создайте новый PDF-файл или загрузите существующий, используя класс Document.
- Получите ссылку на страницу, на которую вы хотите добавить гиперссылку из коллекции Document.Pages.
- Создайте экземпляр TextFragment, чтобы задать текст гиперссылки.
- Создайте экземпляр класса LocalHyperlink и задайте для свойства LocalHyperlink.TargetPageNumber желаемый номер страницы.
- Назначьте объект LocalHyperlink свойству TextFragment.Hyperlink.
- Добавьте текст на страницу с помощью метода Page.Paragraphs.Add(TextFragment).
- Сохраните PDF, используя метод Document.Save(String).
В следующем примере кода показано, как добавить гиперссылку для перехода на определенную страницу в PDF.
// Открыть документ
Document document = new Document("input.pdf");
// Получить ссылку на страницу
var page = document.Pages[1];
// Создать экземпляр TextFragment
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
// Создать локальный экземпляр гиперссылки
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
// Установить целевую страницу для экземпляра ссылки
link.TargetPageNumber = 7;
// Установить гиперссылку TextFragment
text.Hyperlink = link;
// Добавить текст в коллекцию абзацев страницы
page.Paragraphs.Add(text);
// Сохранить обновленный документ
document.Save("output.pdf");
Обновите гиперссылку в PDF с помощью С#
Вы также можете получить гиперссылку в файле PDF и обновить ее свойства. Ниже приведены шаги для выполнения этой операции.
- Загрузите файл PDF с помощью класса Document.
- Получить ссылку на страницу, на которой находится гиперссылка, из коллекции Document.Pages.
- Извлеките нужный объект LinkAnnotation из коллекции Page.Annotations по индексу.
- Обновите необходимые свойства и сохраните PDF с помощью метода Document.Save(String).
В следующем примере кода показано, как обновить гиперссылку в PDF с помощью C#.
// Открыть документ
Document document = new Document("input.pdf");];
// Получить аннотацию первой ссылки с первой страницы документа
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
// Изменить действие ссылки и установить цель как веб-адрес
linkAnnot.Action = new GoToURIAction("www.aspose.com");
// При необходимости измените другие свойства
// Сохранить обновленный документ
document.Save("output.pdf");
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы использовать Aspose.PDF для .NET без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как добавлять различные типы гиперссылок в PDF-файлы с помощью C#. Кроме того, вы увидели, как извлекать гиперссылки из существующих PDF-файлов и программно обновлять их свойства. Кроме того, вы можете узнать больше о .NET PDF API, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.