Додайте або оновіть гіперпосилання в 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 for .NET без оціночних обмежень.

Висновок

У цій статті ви дізналися, як додавати різні типи гіперпосилань у файли PDF за допомогою C#. Крім того, ви побачили, як отримати гіперпосилання з наявних PDF-файлів і оновити їхні властивості програмним шляхом. Крім того, ви можете дізнатися більше про .NET PDF API за допомогою документації. Якщо у вас виникнуть запитання чи запити, ви можете зв’язатися з нами через наш форум.

Дивись також