PdfPixel выпуск 0.9.0 выходит в свет

2 мин

PdfPixel — это набор модулей под MIT лицензией для рендеринга PDF на C#. Для непосредственно рендеринга используется Skia. Кроме того ни одной сторонней библиотеки.

Весь исходный код доступен здесь: zayg21-pixel/pdf‑pixel. Равным образом есть песочница на WASM + WebGL: PDF Pixel.

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

Так, а что там у нас с оптимизациями?

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

И насколько этому всему можно доверять?

Я тестировал каждый отдельный файл в базе PDF.JS, которая составляет приблизительно 1500 файлов включая всевозможные сломанные PDF, с огромным количеством графики, и так далее. Это, пожалуй, была самая интенсивная фаза разработки. Равным образом у меня есть доступ к большой базе различных финансовых отчетов крупных компаний и научных статей. На них я проверял производительность сравнивая с MuPDF и Ghostscript. Это не значит, что тут 100% нет ошибок, и тут мне нужна помощь пользователей, чем больше пользователей, чем больше дефект репортов, тем более стабильной будет набор модулей.

Что ещё вышло в релиз?

  • PdfPixel.Jpg — для декодирования JPEG, поддерживает декодирование части файла (ROI) и дейскейлинг.

  • PdfPixel.Jpx — декодирование JPEG 2000. Как и JPEG, поддерживает RIO и дейскейлинг (через уровни декомпозиции вейвлет). На текущий момент вполне хорошо оптимизирована, но не поддерживается часть функционала который не встречается в PDF, как, например palette. Со временем добавим.

  • PdfPixel.Color — поддержка ICC v2/v4 профилей. Вне PDF полезно для JPEG, JPEG 2000, так как они могут иметь встроенные ICC профили.

  • PdfPixel.Fonts — позволяет исследовать шрифты (PostScript Type 1, CFF, True Type), CMap, глифы, так же содержит специфичные для PDF утилиты для работы со шрифтами и 14 стандартных шрифтов которые не всегда встроены в PDF файлы

  • PdfPixel.PostScript — исполняет любую PostScript программу. В PDF используется по большей части для Type 1 шрифтов.

Ок, а что дальше по плану?

Сама по себе набор модулей только для рендеринга отдельных страниц. В самое ближайшее время выйдет PdfPanel. Это уже высокоуровневая обертка над PdfPixel для отрисовки документа. На текущий я работаю над WASM модулем и WPF. Равным образом планируется релиз для MAUI и Avalonia.

Читают сейчас

В США предъявили обвинения россиянину в заражении компьютеров более 80 тысяч фрилансеров вредоносным ПО

1 час назад

В США предъявили обвинения россиянину в заражении компьютеров более 80 тысяч фрилансеров вредоносным ПО

Коллегия присяжных в штате Калифорния предъявила обвинения 40-летнему гражданину России Серажудину Актулаеву за участие в фишинговой кампании, в результате которой компьютеры 80 тыс. фрилансеров были

2 часа назад

Лиды по осени считают: 6 мероприятий для продуктивного сентября

Осенью прогноз простой: где-то обязательно польет. С рекламным рынком сложнее. Где подорожает лид? Какой канал упрется в потолок? Сработает ли UGC? Что уже можно поручить ИИ? И какие изменения в закон

Организация Postgres Professional первой среди коммерческих форков закрыла критические уязвимости PostgreSQL

2 часа назад

Организация Postgres Professional первой среди коммерческих форков закрыла критические уязвимости PostgreSQL

Postgres Professional выпустила «нулевые» релизы корпоративных редакций СУБД Postgres Pro с исправлениями актуальных уязвимостей PostgreSQL. Компания первой и пока единственной среди коммерческих форк

Дайджест GetAClass: август 2026

3 часа назад

Дайджест GetAClass: август 2026

Поздравляем всех с началом нового учебного года! Каникулы закончились – значит, пора подвести итоги последнего летнего месяца. Читать далее

НАСА выбрало компанию Blue Origin в качестве поставщика телекоммуникационной сети для Марса

3 часа назад

НАСА выбрало компанию Blue Origin в качестве поставщика телекоммуникационной сети для Марса

Американское космическое агентство заключило с Blue Origin контракт на разработку Mars Telecommunications Network — системы обеспечения высокоскоростной связи и навигации для текущих и будущих миссий