PDF Viewer, который может собирать координаты при нажатии и перемещаться к определённым координатам.

Вопрос или проблема

Я ищу бесплатный или дешевый вариант библиотеки для работы с PDF на C#. В данный момент я использую пробную версию Syncfusion в приложении WPF. Мне нужна библиотека, которая позволит мне собирать координаты страниц при нажатии на них и также сможет перемещаться к определённым координатам, а также приближаться.

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

Ответ или решение

Обзор доступных библиотек для работы с PDF в C

Вам требуется библиотека для работы с PDF-документами в приложении WPF на C#, которая позволяла бы собирать координаты страниц при клике, перемещаться к конкретным координатам и осуществлять масштабирование. Рассмотрим несколько доступных решений, которые могут удовлетворять вашим требованиям, и при этом имеют низкую стоимость или полностью бесплатны.

1. PDFium

PDFium — это мощная, бесплатная библиотека с открытым исходным кодом, разработанная Google. Она предоставляет API для обработки PDF-документов. В сочетании с WPF это решение может обеспечить получение координат при клике и показывать документ в нужной области:

  • Получение координат: Вы можете использовать обработчик событий кликов, чтобы определить координаты в Page, применив математику для преобразования экранных координат в координаты документа.
  • Перемещение к координатам: После обработки координат, вы можете использовать функции API для установки позиции отображаемого контента.
  • Масштабирование: PDFium поддерживает функции масштабирования, которые позволяют пользователю увеличить документ до нужного размера.

2. PdfSharp и MigraDoc

PdfSharp — это еще одна бесплатная библиотека для работы с PDF в C#. Хотя основная цель этой библиотеки — создание PDF-документов, также можно использовать ее для чтения существующих PDF.

  • Получение координат: Вам нужно будет получить доступ к объектам графики и использовать события для обработки клика.
  • Перемещение и зум: PdfSharp сама не поддерживает такие функции напрямую, но вы можете создать пользовательский интерфейс с использованием WPF для управления отображением страницы. С помощью дневника MigraDoc можно расширить функциональность, но возможно, вам придется реализовать технологии для управления просмотром вручную.

3. Spire.PDF for .NET

Spire.PDF предоставляет бесплатную версию с ограничениями, но с подходящими функциональными возможностями для ваших нужд.

  • Координаты клика: Специальные методы библиотеки позволяют легко обсуждать события кликов на страницах.
  • Перемещение и масштабирование: Spire.PDF поддерживает изменение масштаба и перемещение к координатам, что также можно реализовать через привязку данных в WPF.

4. PDF.js в сочетании с C# Backend

Если вы открыты для альтернативных подходов, вы можете рассмотреть вариант использования PDF.js, библиотеки для JavaScript, в сочетании с вашим C# бэкендом. Это потребует настройки веб-компонента для отображения PDF в приложении:

  • Получение координат при клике: JavaScript позволяет легко обрабатывать события клика и получать координаты.
  • Перемещение и масштабирование: PDF.js поддерживает функции для изменения масштаба и прокрутки, которые можно использовать непосредственно в JavaScript.

Заключение

Каждое из предложенных решений имеет свои плюсы и минусы, поэтому выбор подходящей библиотеки зависит от ваших технических требований, бюджета и личных предпочтений. Если вы ищете полностью бесплатное решение с необходимой функциональностью, PDFium вероятно будет вашим лучшим выбором. Однако, если для вас важна дополнительная поддержка и гибкость, стоит рассмотреть варианты с Spire.PDF или даже использовать PDF.js с C# бэкендом.

Для успешной реализации рекомендуется провести тестирование каждого решения, чтобы определить, какое из них наилучшим образом отвечает вашим требованиям.

Оцените материал
Добавить комментарий

Капча загружается...