Как повесить гиперссылку на определенный текст pdf документа используя IText7

Я работаю с библиотекой IText7. Мне нужно повесить гиперссылку на определенный текст pdf документа. Буду благодарен за любую информацию. Спасибо


Ответы (2 шт):

Автор решения: Борис_56

Я разобрался. Возможно этот код будет кому-нибудь полезен. Прежде всего нужно знать координаты прямоугольника, в который вписан этот текст, но это отдельная задача. Если мы знаем эту информацию, повесить гиперссылку на текст можно так.

// Creating a PdfLinkAnnotation object 
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect); 
// rect - прямоугольник, в который вписан текст 
// Setting action of the annotation 
PdfAction action = PdfAction.CreateURI("www.mail.ru");
annotation.SetAction(action);
annotation.SetHighlightMode(PdfAnnotation.HIGHLIGHT_INVERT);
annotation.SetBorder(new PdfArray(new int[] { 0, 0, 1 }));
//установка цвета аннотации
annotation.SetColor(ColorConstants.GREEN);

PdfReader reader = new PdfReader(fileName); // исходный pdf  документ
PdfWriter writer = new PdfWriter(workFile); // новый pdf документ
PdfDocument document = new PdfDocument(reader, writer);
page = document.GetPage(numPage); // numPage - номер страницы 
page.AddAnnotation(annotation); 
document.Close(); 
→ Ссылка
Автор решения: Kirill
         // Hyper link
     Link link = new Link("click here",
        PdfAction.CreateURI("https://www.google.com"));
     Paragraph hyperLink = new Paragraph("Please ")
        .Add(link.SetBold().SetUnderline()
        .SetItalic().SetFontColor(ColorConstants.BLUE))
        .Add(" to go www.google.com.");

     document.Add(newline);
     document.Add(hyperLink);

Информация взята из сайта https://www.codeguru.com/dotnet/generating-a-pdf-document-using-c-net-and-itext-7/

→ Ссылка