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.

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

Prusa представила PrusaSlicer 3.0 с новым интерфейсом и поддержкой плагинов

5 часов назад

Prusa представила PrusaSlicer 3.0 с новым интерфейсом и поддержкой плагинов

Команда Prusa Research выпустила первую публичную альфа‑версию слайсера PrusaSlicer 3.0. Авторы переписали интерфейс, переработали систему профилей, добавили поддержку полноценной работы с несколькими

Anthropic обновила Claude – вышли Fable 5.1 и Mythos 5.1

5 часов назад

Anthropic обновила Claude – вышли Fable 5.1 и Mythos 5.1

Anthropic выпустила апдейт своих топовых моделей – Claude Fable 5.1 и Claude Mythos 5.1. Это одна и та же модель под капотом, различающаяся уровнем защитных ограничений: Fable 5.1 доступна всем в цело

Creality представила 3D‑принтер SPARKX i8 с поддержкой многоцветной печати и быстрой сменой филамента

6 часов назад

Creality представила 3D‑принтер SPARKX i8 с поддержкой многоцветной печати и быстрой сменой филамента

Creality представила 3D‑принтер SPARKX i8 с поддержкой четырёхцветной печати. Его главная особенность заключается в системе QuarTeks, в которой прутки филамента подведены практически к самому соплу, б

Базовая релиз MacBook Neo аномально быстро расходует источник SSD из‑за всего 8 ГБ оперативной памяти

6 часов назад

Базовая релиз MacBook Neo аномально быстро расходует источник SSD из‑за всего 8 ГБ оперативной памяти

Автор YouTube‑канала UFD Tech рассказал, что MacBook Neo необычно быстро расходует источник SSD‑накопителя. Всё дело в небольшом объёме оперативной памяти, из‑за которой устройство активно записывает

Anthropic предупредила пользователей Claude об утечке их данных для входа из‑за вредоносного ПО

6 часов назад

Anthropic предупредила пользователей Claude об утечке их данных для входа из‑за вредоносного ПО

Организация Anthropic предупредила, что инфостилеры перехватывают сеансы Claude и открывают злоумышленникам доступ к учётным записям пользователей. Читать далее