Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 29.03.2015
Сообщений: 200

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

30.06.2021, 16:11. Показов 1213. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Я работаю с библиотекой IText7. Мне нужно получить все гиперссылки pdf документа.
В интернете я не нашел примера, как это можно сделать.
Возможно кто-нибудь знает форум по IText7 или подскажет, как это сделать.
Буду благодарен за любую информацию.
Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.06.2021, 16:11
Ответы с готовыми решениями:

Как получить количество страниц в документе PDF
kak iz biblioteka pdf reader (Axdpdf) shitat countpage in.vbnet

Получить данные из форм в PDF документе
Коллеги, приветствую! В наличие PDF файл, на котором расположены элементы управления (Чеквоксы, Комбобоксы, Текстбоксы) ...

при конвертации в pdf глючат гиперссылки
доброго времени суток необходимо переконвертировать вордовский документ в pdf с сохранением гиперссылок на файлы. в 2007 офисе есть такая...

1
2 / 2 / 0
Регистрация: 29.03.2015
Сообщений: 200
01.07.2021, 13:43  [ТС]
В Инете нашел код, как это сделать.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  String src  = "test-with-links.pdf";
  //String dest = "test-no-links.pdf";
 
  PdfReader   reader  = new PdfReader(src);
  //PdfWriter   writer  = new PdfWriter(dest);
  PdfDocument pdfDoc  = new PdfDocument(reader); //,writer);
 
  for( int page = 1; page <= pdfDoc.GetNumberOfPages(); ++page ) {
    PdfPage               pdfPage     = pdfDoc.getPage(page);
    IList<PdfAnnotation>   annots      = pdfPage.getAnnotations();
 
    if ((annots == null) || (annots.size() == 0)) {
      System.out.println("no annotations on page " + page);
    }
    else {
      foreach (PdfAnnotation annot in annots) {
        if ( annot.GetSubtype().Equals(PdfName.Link) ) {
          PdfDictionary annotAction = ((PdfLinkAnnotation)annot).GetAction();
 
          if( annotAction.Get(PdfName.S).Equals(PdfName.URI)) {  // ||
              //annotAction.Get(PdfName.S).Equals(PdfName.GoToR) ) {
            PdfString uri = annotAction.GetAsString(PdfName.URI);
            System.out.println("URI: " + uri.ToString());
          }
        }
      }
    }
  }
  pdfDoc.close();
М.б. кому-нибудь пригодится.
И еще вопрос. М.б. кто-нибудь знает книги по работе с IText7, а то я нашел только Help и практически никакой информации
о том, как с работать с этой библиотекой.
Спасибо.

Добавлено через 6 минут
Небольшая корректировка кода в 9 и 10 строках:
C#
1
2
    PdfPage               pdfPage     = pdfDoc.GetPage(page);
    IList<PdfAnnotation>   annots      = pdfPage.GetAnnotations();
вместо
C#
1
2
    PdfPage               pdfPage     = pdfDoc.getPage(page);
    IList<PdfAnnotation>   annots      = pdfPage.getAnnotations();
В IText 7.7 эти методы пишутся с большой буквы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.07.2021, 13:43
Помогаю со студенческими работами здесь

Как получить строку гиперссылки в VBA Excel
В ячейке “A2” Exel таблицы, находится рабочая гиперссылка, которая хорошо видна, если к ней подвести мышку. В VBA оператор str =...

Как получить ПОЛНЫЙ ПУТЬ к файлу из сохраненной на листе гиперссылки?
Добрый день. У меня есть книга эксель, в которой на отдельном листе собраны гиперссылки на другие файлы экселя. Необходимо...

Формат из Power Point в pdf - перестают работать некоторые гиперссылки
В Power Point создана презентация, в которой есть внутренние (навигационные гиперссылки), а также внешние ссылки на таблицы Excel. После...

Количество страниц в pdf документе
Доброго времени суток! Есть задача - получить кол-во страниц pdf-файла. Пытался напрямую потрошить заголовок (считываю первые 1024 байта,...

Количество страниц в PDF документе
Добрый день. Как на JAVA можно определить количество страниц в документе pdf?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru