PdfPixel релиз 0.9.0 выходит в свет - QubStore

PdfPixel релиз 0.9.0 выходит в свет

Релиз PdfPixel 0.9.0: быстрый и легкий рендеринг PDF на C#

Свежая версия библиотеки PdfPixel под лицензией MIT существенно расширяет возможности разработчиков, работающих с PDF-документами. Проект, созданный на C#, использует исключительно Skia для отрисовки и не тянет за собой лишних зависимостей. Код полностью открыт в репозитории zayg21-pixel/pdf-pixel, а для быстрого знакомства доступна интерактивная песочница на WASM и WebGL.

На сегодняшний день библиотека закрывает практически все потребности статичных страниц и поддерживает большинство типов аннотаций. Сознательным ограничением остается отсутствие работы с Widget и Form аннотациями — то есть с документами, где пользователь может заполнять интерактивные поля. Разработчики честно признают этот пробел и пока не спешат его закрывать.

Особый упор в этой версии сделан на производительность. Вся核心 логика построена на векторизации и многоуровневом кэшировании. Помимо общих оптимизаций памяти и скорости декодирования, создатели добавили специфические улучшения именно для Skia, что позволяет выжать максимум из графического движка и ускорить обработку сложных документов.

Проверка надежности проводилась на внушительной базе — около 1500 файлов из коллекции PDF.JS, включая намеренно сломанные документы и файлы с тяжелой графикой. Кроме того, тестирование проходило на массиве финансовых отчетов крупных корпораций и научных статей. Сравнение с лидерами индустрии — MuPDF и Ghostscript — показало конкурентоспособную скорость работы. При этом авторы не утверждают, что код абсолютно безупречен, и рассчитывают на помощь сообщества: чем больше пользователей сообщают о багах, тем стабильнее становится продукт.

Вместе с ядром в релиз вошли дополнительные модули, расширяющие функциональность. PdfPixel.Jpg отвечает за декодирование JPEG и умеет обрабатывать части файла (ROI) и масштабирование. PdfPixel.Jpx работает с JPEG 2000, поддерживает те же операции через уровни вейвлет-декомпозиции, но пока не охватывает редкие функции, вроде палитр, которые почти не встречаются в PDF. Модуль PdfPixel.Color обеспечивает поддержку цветовых профилей ICC v2/v4 — полезно для JPEG и JPEG 2000 со встроенными профилями. PdfPixel.Fonts позволяет инспектировать шрифты PostScript Type 1, CFF, TrueType, CMap и глифы, включая 14 стандартных шрифтов, не всегда встроенных в файлы. Наконец, PdfPixel.PostScript исполняет произвольные PostScript-программы, что критично для обработки Type 1 шрифтов.

В планах — выпуск высокоуровневой обертки PdfPanel для отрисовки целых документов, а не только отдельных страниц. Сейчас активно разрабатываются версии для WASM и WPF, а затем очередь дойдет до MAUI и Avalonia.

Ссылка на основную публикацию