Вопрос или проблема
У меня есть старое приложение, которое отображает PDF и позволяет увеличивать масштаб до 15 раз и прокручивать к конкретной точке, определяемой щелчком мыши, когда PDF уменьшен, чтобы поместиться на экране. Обычно размер PDF составляет 1200мм x 900мм, и я щелкаю по 2-3 точкам, после чего требуется увеличить PDF до заранее определенного размера (15 раз), а затем прокрутить так, чтобы центр отображения находился в позиции щелчка мыши. Для старого приложения мы использовали Adobe Acrobat SDK и строили на примере StativView на C++. Мы делали скриншоты области интереса и выводили файлы .BMP вместе с позицией относительно нижнего левого угла PDF. Это затем вводилось в вторую программу, написанную на C, которая контролировала XY-столбик с установленной камерой. Теперь нам нужно объединить обе программы в одно приложение на C#. Нам нужен быстрый, простой и недорогой SDK, который легко интегрируется. Производительность критична, нам нужно максимально быстро загружать PDF и иметь возможность увеличивать масштаб и прокручивать менее чем за 1 секунду. Нам не нужны другие функции.
Будем признательны за любые рекомендации.
Заранее спасибо,
Дес
Мы рекомендуем использовать элемент управления WPF PdfViewer от Syncfusion для прокрутки и увеличения масштаба до более высоких значений в WPF-приложениях. По умолчанию максимальный процент увеличения элемента PdfViewer составляет 400, но мы можем изменить его на желаемый процент. Чтобы увеличить масштаб выше 400, мы должны установить значение API MaximumZoomPercentage при инициализации элемента управления и можем увеличить масштаб до желаемого процента, используя API ZoomTo. Для получения дополнительной информации, пожалуйста, обратитесь к следующей ссылке Руководства пользователя:
Ссылка на Руководство:
Что касается прокрутки, элемент управления PdfViewer позволяет быстрее прокручивать страницы, даже при высоком увеличении. Мы реализовали виртуализацию для рендеринга страниц PDF на более высоких уровнях увеличения, что приводит к повышению производительности.
Для получения дополнительной информации и рабочих примеров в вашей необходимой платформе, пожалуйста, свяжитесь с поддержкой Syncfusion (mailto: [email protected]).
Ответ или решение
Для вашего проекта, связанного с отображением и управлением PDF-документами в C#, рекомендуется рассмотреть использование SDK от компании Syncfusion, а именно, компоненты PdfViewer для WPF. Этот контроллер предоставит вам быстрый способ отображения и манипуляций с PDF-документами с учетом ваших требований.
Syncfusion PdfViewer предлагает следующие ключевые возможности:
-
Максимальное увеличение: По умолчанию максимальный процент увеличения составляет 400%, однако вы можете изменить это значение, установив свойство
MaximumZoomPercentage
при инициализации контрола. Чтобы установить увеличение до необходимых вам 1500% (x15), воспользуйтесь следующим API:pdfViewerControl.MaximumZoomPercentage = 1500; pdfViewerControl.ZoomTo(1500);
-
Быстрое прокручивание: Контроллер PdfViewer оптимизирован для быстрого прокручивания страниц даже при высоких уровнях увеличения благодаря реализации виртуализации. Это значит, что страницы будут загружаться быстрее, что критично для вашего приложения.
-
Загрузка PDF: Вам не потребуется дополнительных усилий для загрузки документов. Используя приведенное ниже руководство, вы сможете открывать PDF-файлы с локального диска:
pdfViewerControl.Load("путь_к_вашему_PDF.pdf");
Для получения подробной информации вы можете ознакомиться с пользовательскими руководствами по следующим ссылкам:
Также, если вам понадобятся дополнительные примеры работы и помощи в интеграции, вы всегда можете обратиться в службу поддержки Syncfusion: Поддержка Syncfusion.
С учетом ваших требований к производительности и функциональности, данное решение должно соответствовать вашим потребностям. Оно доступно по достаточно конкурентоспособной цене, что делает его подходящим выбором для вашего проекта.