Добавление или обновление гиперссылок в PDF с помощью C# .NET

PDF — это многофункциональный формат документа, который поддерживает ряд элементов, включая аннотации, мультимедиа, формы и т. д. Гиперссылка — это важный элемент, который используется для навигации внутри PDF-файла, от одного PDF-файла к другому, к веб-страница и т. д. При программном создании PDF-документов часто может потребоваться вставка гиперссылок. Соответственно, в этой статье вы узнаете, как добавлять и обновлять гиперссылки в PDF-файлах на C# .NET.

Для управления гиперссылками в файлах PDF мы будем использовать Aspose.PDF for .NET. Это популярный API, который позволяет создавать, обрабатывать и преобразовывать PDF-файлы из приложений .NET. Вы можете скачать двоичные файлы API или установить его с помощью NuGet.

PM> Install-Package Aspose.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-файл на 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. Класс 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 с помощью класса 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, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.

Смотрите также