Вопрос или проблема
Как сказано в заголовке, имея файл PDF, я хочу получить доступ ко всем его закладкам, считывая соответствующий заголовок и размеры / положение в PDF.
Я ищу библиотеку C# (бесплатную для коммерческого использования), которая позволяет это сделать.
Ближайшее, что я смог найти, это PDFiumViewer, используя метод GetPageLinks, однако он не показывал все ссылки, только некоторые из них. Я также пробовал PDFSharp, но не смог разобраться в этом.
Я был бы признателен за помощь в этом, будь то рекомендация библиотеки, которая это делает, или помощь в том, чтобы понять, что я упускаю в библиотеках, которые я уже пробовал.
Вы можете попробовать Syncfusion High-performance .NET PDF Framework
- Создавайте, читайте и редактируйте PDF-файлы всего за несколько строк кода.
- Конвертируйте более 20 самых распространенных и популярных форматов документов в PDF.
- Просматривайте и рецензируйте PDF-файлы без проблем в ваших приложениях.
https://www.syncfusion.com/document-processing/pdf-framework/net
Syncfusion также предлагает бесплатную лицензию для сообщества. https://www.syncfusion.com/products/communitylicense
Примечание: Я работаю в Syncfusion
Ответ или решение
Если вы ищете бесплатную библиотеку C# для доступа к закладкам, ссылкам и их позициям в PDF-файлах, стоит рассмотреть несколько опций, в том числе упомянутые вами PDFiumViewer и PDFSharp, а также несколько других библиотек.
Библиотеки для работы с PDF в C
-
PDFiumViewer
- Хотя вы уже пробовали эту библиотеку, нужно уточнить, что для извлечения закладок и ссылок необходимо использовать методы, которые могут не входить в стандартные функции чтения. PDFium, на который она основана, предоставляет доступ к структуре документа, однако для работы с закладками может потребоваться использование более низкоуровневых функций.
- Проверьте наличие методов, которые позволяют вам явно получать закладки с помощью вызовов
GetOutline()
и проверьте, доступна ли информация о позиции.
-
PDFSharp
- Эта библиотека предлагает возможности для чтения и создания PDF-документов. Однако в плане извлечения закладок, PDFSharp может быть ограниченной. Вам может потребоваться дополнительно использовать библиотеку для анализа структуры PDF документов, что иногда может быть сложно.
-
iTextSharp (iText 7 Community)
- Описание: iTextSharp – это хорошая библиотека для работы с PDF. Поддерживает чтение закладок, но следите за лицензией: вы должны использовать Community версию для бесплатного использования, и она требует соблюдения определенных условий.
- Как использовать: С помощью этой библиотеки вы сможете легко извлекать закладки и их позиции, а также работать с другими элементами PDF-документа.
-
Syncfusion PDF Framework
- Описание: Это мощная библиотека для работы с PDF в .NET. Она позволяет создавать, читать и редактировать PDF-документы с легкостью. Syncfusion предлагает бесплатную лицензию для сообщества, что делает её доступной для небольших коммерческих проектов.
- Как использовать: Вы можете получить доступ к закладкам с помощью простых вызовов методов, что делает работу с PDF-документами более интуитивной. Вы можете ознакомиться с документацией на официальном сайте Syncfusion.
Рекомендации
- iTextSharp или
Syncfusion PDF Framework
представляют собой лучшие выборы для ваших целей. Оба предлагают доступ к структуре документа и позволяют легко извлекать закладки и ссылки. - Если вы нацелены на минимизацию сложности в коде, поищите примеры использования библиотек на GitHub или в документации, это поможет вам быстрее освоить необходимые методы.
Заключение
Работа с PDF в C# может быть затруднительной задачей, особенно когда речь идет о закладках и ссылках. Рекомендуется попробовать iTextSharp или Syncfusion, которые порадуют вас широкими возможностями и хорошей поддержкой сообществом. Убедитесь, что вы внимательно изучаете документацию и примеры использования, чтобы максимально эффективно интегрировать эти библиотеки в ваш проект.