PDF Library for Delphi: автоматический fallback шрифтов для CJK
Автоматический fallback шрифтов в PDF Library for Delphi закрывает пропущенные глифы CJK, символов и эмодзи, шейпит текст по кластерам и пишет JSON-отчёт
Блог разработки программного обеспечения losLab
Software Development Blog
Автоматический fallback шрифтов в PDF Library for Delphi закрывает пропущенные глифы CJK, символов и эмодзи, шейпит текст по кластерам и пишет JSON-отчёт
PDF Library for Delphi размечает текст, заголовки, рисунки и таблицы прямо во время отрисовки, так что доступный PDF больше не требует ручных вызовов BeginTag
PDF Library for Delphi встраивает AVIF, HEIF и JPEG XL прямо в PDF и сохраняет альфа-канал, ICC-профиль и 16-битные каналы, которые теряет конвертация в bitmap
Векторные штрихкоды сохраняют четкость при печати. Узнайте, как PDF Library for Delphi рисует QR, PDF417, DataMatrix и Code128 в Delphi и выбирает коррекцию
Как PDFlibPas укрепил встроенный TIFF-декодер для Delphi: явный отказ BigTIFF с магией 43, отклонение тайлов при разборе тегов и лимит декодирования 256 МиБ
PDF Library for Delphi пишет метаданные команд Web Capture SpiderInfo в каталог: словари команд как косвенные объекты, URL, уровни обхода и whitelist флагов
PDF Library for Delphi отправляет PDF почтой через Windows CDO, а корректная работа с апартаментами CoInitializeEx спасает многопоточную рассылку от сбоев
Как PDF Library for Delphi читает сертификаты подписавшего из CMS PDF-подписи: DER в границах родителя, обрезка /Contents и OID за пределом 2.47
Пять паттернов на Pascal, что проходят чисто на Delphi, но падают на Free Pascal или кривом вводе: скрытые массивы Result, устаревшие счётчики, короткие чтения
CollateDocumentsEx в PDF Library for Delphi сшивает лицевые и перевёрнутые обратные сканы в порядок чтения, чередуя страницы без дублирования общих шрифтов
Свяжите предпечатную проверку PDF/A, подпись PAdES и аудит ByteRange в одном стенде на Delphi, чтобы подписывалась ровно та редакция файла, которую вы проверили
Воспроизведите поток содержимого PDF в Delphi: PDF Library for Delphi отслеживает CTM, текстовую матрицу, границы обрезки и стек q/Q для каждого оператора
ConvertToPDFA восстанавливает документ, заявляет часть и проверяет результат, а RepairDocumentMetadata приводит Info и XMP к согласию в Delphi
Как CopyForeignObject в PDFlibPas глубоко копирует замыкание PDF-объекта между документами и почему циклические ссылки Parent падали до защиты InProgress
Экспортируйте отчёт TDataSet, FastReport, QuickReport или ReportBuilder в PDF в Delphi с losLab PDF Library: таблицы с разбивкой на страницы и headless-режим
Как сделать вывод Delphi PDF побайтово идентичным через детерминированный ID трейлера: откуда берётся seed, почему зашифрованные файлы сохраняют свой и что ещё
PDF Library for Delphi отдаёт один плоский PDF API как Stdcall DLL, объект ActiveX и Cdecl dylib, и у каждой привязки свои ловушки со строками и дескрипторами
PDF Library for Delphi вешает документные действия WillClose и WillPrint на /AA каталога, а действия страницы на /AA страницы, не выходя за ограничения PDF/A
Как PDFlibPas реализует Ed448 по RFC 8032 и три кривые Brainpool RFC 5639 на чистом Pascal без внешней криптобиблиотеки, и о шести найденных первопричинах
Соответствие PDF/A не равно соответствию счёту: смотрим, как счета PDF Library for Delphi проходят и проверки контейнера veraPDF, и бизнес-правила Mustang
Исправление ошибки PDF/A 00030 в Delphi: EmbedMissingFonts из losLab PDF Library добавляет шрифты в существующие PDF без перестройки словарей шрифтов
Как PDFlibPas превращает записи EMF PolyBezier, Polyline, PolylineTo, PolyPolyline и PolyDraw в пути PDF по MS-EMF: код на Delphi и ловушки парсера
Почему конвертеру EMF в PDF из 6500 строк хватило изменить условную компиляцию, а не переписывать, и как поле hatch ULONG_PTR сбивает записи метафайла на Win64
PDF Library for Delphi повторяет неверный пароль PDF, пересоздавая TPDFDocument на каждой попытке, а не сбрасывая его на месте, и сдаётся после 16 попыток
Читайте словарь /Encrypt как аудитор с PDF Library for Delphi: алгоритм, длина ключа, AES-256 R5 против R6, биты разрешений и ловушки фильтра Identity
Электронный счёт - это PDF/A-3 со встроенным XML счёта. Посмотрите, как PDF Library for Delphi создаёт гибридные счета Factur-X и ZUGFeRD по профилям в Delphi
Как PDF Library for Delphi быстро объединяет PDF в Delphi, повторно используя исходные байты и сдвигая косвенные ссылки объект за объектом, без полного цикла
Почему импортёр FDF-аннотаций может считать комментарии, которые не добавил, как losLab PDF Library разбирает ключи, Rect и десятичные и как проверить импорт
Переносите данные форм PDF между AcroForm и бизнес-системами в Delphi с помощью losLab PDF Library: значения FDF и XFDF, иерархические поля, форматированный
PDFlibPas проверяет по редакциям, было ли изменено заблокированное поле подписанной PDF-формы: разрешает имена полей и применяет правила FieldMDP в Delphi
Как AuditDocumentSpace в losLab PDF Library раскладывает размер PDF-файла на 12 категорий объектов в Delphi, чтобы измерять раздутость до сжатия
EnumPageContentStatesEx в PDF Library for Delphi рекурсивно заходит в Form XObject, ловит циклы по цепочке вызовов и корректно разводит одноимённые ресурсы
Почему сборка PDF Library for Delphi под Free Pascal дробила большие потоки FlateDecode на цепочки zlib-членов, которые ридеры обрезали, и как это исправили
Free Pascal на Win32 требует COFF, поэтому PDFlibPas держит отдельный набор объектов, нормализует имена секций и отбрасывает хелперы 64-битных операций Delphi
PDF умеет носить в себе систему координат карты: разбираем, как PDF Library for Delphi читает viewport GeoPDF, словари измерений и рамки WKT или EPSG
Собираем действия GoToR, GoToE и Launch в PDF Library for Delphi: переходы во внешние файлы, цели внутри вложенных PDF и ловушка нумерации страниц с нуля
Как PDF Library for Delphi замеряет LoadFromFile и SaveToFile через QueryPerformanceCounter: парные прогоны A/B, стартовый порог CPU 25% и три проверки вывода
PDF Library for Delphi верстает HTML с display flex и grid внутри страниц PDF и разбивает сноски по колонкам и страницам с непрерывной нумерацией
Почему двухпроходный HTML-рендерер декодирует сущности ровно один раз, как PDFlibPas переэкранирует текст на каждой границе и как экранировать ввод в Delphi
DrawTextFlowColumns и SetTextFlowHyphenation в PDF Library for Delphi верстают текст PDF в сбалансированные колонки с переносами по правилам девяти языков
Почему PDF Library for Delphi удаляет 1 0 0 1 0 0 Tm, только пока обе текстовые матрицы остаются identity: peephole-оптимизатор не двигает текст
Создание инкрементных обновлений ISO 32000-1 в Delphi методом AppendToStream losLab PDF Library: сохранение подписей и отказ от полной перезаписи больших PDF
PDFlibPas v3.539.36 убирает общие инстансы боксов страниц у MovePage, SetPageBox и CopyPageRanges: правка одной страницы PDF больше не меняет размеры соседей
TPDFlibViewer из PDF Library for Delphi фиксирует правку поля формы через OnExit: обнулите FInplaceEditor первым, иначе потеря фокуса войдёт в фиксацию повторно
Действия формы превращают статичную страницу PDF в приложение: PDF Library for Delphi связывает Hide, ImportData, Named и JavaScript с полями и ссылками
Создание PDF-просмотрщика в Delphi VCL с TPDFlibViewer: пять инструментов мыши, готовые действия, подсветка результатов поиска, клики по аннотациям и печать
Как чистый Pascal-декодер JBIG2 в PDFlibPas разбирает сегменты Tables, строит канонические префиксные коды по T.88 Annex B и держит уточнения внутри сегмента
PDFlibPas предлагает кодировщик JBIG2 на Pascal и внешний по выбору, а перенос внешнего бэкенда на Free Pascal потребовал DLL, а не объектных файлов
Два бага полутоновых областей JBIG2 в PDFlibPas: транспонированная маска HSKIP и отрицательные смещения сетки из-за shr плюс переносимый floor-сдвиг
Как PDFlibPas декодирует JBIG2-файлы с произвольным доступом в Delphi: индекс заголовков сегментов до end-of-file и строгие проверки длин данных
PDFlibPas встраивает backend jbig2enc в исполняемые файлы Free Pascal без DLL: как ObjConv устраняет pick-any COMDAT и Internal error 200603061
Прямой доступ PDF Library for Delphi открывает гигабайтные PDF за миллисекунды: дескрипторы страниц, списки слияния, извлечение диапазонов и ремонт xref
Ловушки LP64 в Delphi Linux64 при портировании PDFlibPas: 8-байтовый Longint, сигнатуры TStream, записи и почему WIN64 не проверка разрядности указателя
PDFlibPas пишет числа PDF с точкой и без экспоненты на системах с comma-локалью и парсит потоки содержимого, SVG и clip-строки без Delphi-локали
Словарь LZW-кодировщика опережает декодер на одну запись, поэтому сторонам нужны разные пороги ширины кода. Как PDFlibPas правильно реализует EarlyChange
Почему удаление страниц PDF не уменьшает файл, и как mark-sweep сборщик мусора в Delphi отбрасывает бесхозные объекты через корневой набор трейлера
PDFlibPas читает гигабайтные PDF через одно скользящее окно только для чтения, поэтому LoadFromMappedFile отдаёт Delphi срезы объектов без лишних seek и буферов
PDF Library for Delphi объединяет документы с AcroForm по явной политике дубликатов: одноимённые поля можно отклонить, разделить между копиями или переименовать
PDFlibPas реализует FIPS 204 ML-DSA 44, 65 и 87 на чистом Object Pascal для Delphi и FPC: общий движок и критические ошибки сэмплирования, ломавшие KAT
PDFlibPas сравнивает документ с более ранней ревизией и сортирует каждую разницу по белому списку, так что контроль DocMDP сводится к одному сравнению уровней
Рендерите страницы PDF в 1-битный монохром и вырезайте подобласть в Delphi: PDF Library for Delphi даёт растр, а halftone-преобразование делает GDI вне движка
Сжатие отсканированных страниц PDF в Delphi через CompressPageAsMRC: уменьшенный JPEG-фон плюс CCITT stencil mask в полном разрешении — текст остаётся резким
Переключайте встроенный движок, Cairo и PDFium прямо на лету в PDF Library for Delphi: зондирование движков, ловушки масштаба DPI и цепочка отката с логом
Как PDFlibPas безопасно читает деревья имён и чисел PDF на Delphi: циклические /Kids, недоверенные /Limits, деревья в 4096 уровней и листья с 32 768+ записями
Проверка правил EN 16931, XRechnung и Peppol BIS в Delphi на PDFlibPas без Java: встроенное покрытие, допуски CII против UBL и пакеты правил с фиксацией хеша
Как PDF Library for Delphi перестала при сохранении без изменений перезаписывать общий CreationDate и заменять существующий пакет XMP, и как это проверить
Как losLab PDF Library пишет потоки объектов PDF 1.5 и xref-потоки из Delphi: разметка ObjStm, записи типа 2, ширины поля W и правила шифрования
Слои PDF управляют картами, чертежами CAD и языковыми версиями. Узнайте, как PDF Library for Delphi создает и читает группы OCG с конфигурациями в Delphi
Большинство PDF-библиотек для Delphi пишут действия закладок и аннотаций, но не читают обратно; PDF Library for Delphi разбирает GoTo, URI, Launch и JavaScript
Выпускайте подписи PAdES B-B, B-T и B-LT в PDF Library for Delphi: резерв под метку времени, сборка DSS и аудит ByteRange до того, как поверить файлу
PDF Library for Delphi добавляет метки страниц в PDF с /Kids в number tree /PageLabels: корень сводится в /Nums по ISO 32000-1, и новые диапазоны заработают
PDFlibPas привязывает встроенные файлы к конкретной странице через массив /AF в ISO 32000-2 14.13, оставляя содержимое в дереве имён EmbeddedFiles
Сшивайте страницы PDF рядом или накладывайте их с сохранением векторного качества с помощью захвата Form XObject библиотеки losLab PDF Library и компонуемых
Рендеринг PDF-страниц параллельно из Delphi с losLab PDF Library: почему рабочему потоку нужен свой TPDFlib, CoInitialize для GDI+ и безопасное логирование
PDFlibPas заполняет именованные блоки-заполнители текстом, изображением и PDF в Delphi: сертификаты, билеты и mail merge, стили, координаты и подводные камни
Уменьшение размера PDF в Delphi через losLab PDF Library: подмножества встроенных шрифтов, даунсемплинг изображений и конвертация LZW во Flate за один проход
PDF Library for Delphi переписывает токены чисел PDF вроде -.25 и 007.5 в валидный RFC 8259 JSON, пишет null для NaN и Infinity и не зависит от локали
Экспортируйте страницы PDF в семантический Markdown или DOCX из Delphi: PDF Library for Delphi выводит заголовки, списки и таблицы и пишет потоком без Office
Почему CAD-PDF с прямоугольными Measure-вьюпортами не сохранялся с ошибкой 602, как теперь разделились правила RL и GEO и чем const ускорил скан правил
Предпечатная проверка PDF/A и PDF/UA из Delphi: PDF Library for Delphi выдаёт структурные находки, отчёты для диффа, правки при сохранении и сверку с veraPDF
Счёт Factur-X не пройдёт veraPDF, пока его свойства XMP не объявлены: смотрим, как PDF Library for Delphi добавляет схему расширения PDF/A-3 для метаданных fx
У PDF/E-1 своё пространство имён XMP, обязательные метаданные жизненного цикла и запрет BX, поэтому PDFlibPas проверяет контент в строгих границах
Как PDFlibPas в Delphi аудирует шрифтовые слои PDF/UA: ширины глифов через cmap и CIDToGIDMap, консервативные правила CharSet и CIDSet, скан контентных потоков
Как PDFlibPas проверяет файлы PDF/UA-2 в Delphi: пространства имён PDF 2.0 и RoleMapNS, лимиты обхода fail-closed и честный отчёт о покрытии проверок
PDFlibPas строит шаблоны замены PDF/VCR-1 как ветвь StructTreeRoot, поэтому гейт сохранения и манифест обходят все верхние ветви, а не только первую
Генерация печатных файлов PDF/X-1a, X-3 и X-4 в Delphi с PDFlibPas: что разрешает каждая часть, что пишет SetPDFXMode за вас и как прогнать preflight
PDF Library for Delphi склеивает визуально одинаковые изображения PDF, отличающиеся лишь кодированием: перцептивный хеш, три порога ошибки и пробный прогон
Почему /Predictor от 10 до 14 несут байт фильтра PNG в каждой строке, как losLab PDF Library декодирует их для Flate и LZW, и какой xref-поток это сломал
PDFlibPas хранит разобранный десятичный текст и пишет его обратно как есть, поэтому сохранение без правок не округляет Gamma в CalRGB и не сдвигает цвета
Практическое руководство по PDF Library for Delphi и print preview and device-context output: архитектура, диагностика, проверка, пограничные случаи и чек-лист
Профилируем рендеринг PDF Library for Delphi: линейный обход словарей меняем на хеш-индексы, попиксельную гамму на LUT, а склейку строк за O(n^2) на builder
Как PDFlibPas открывает многогигабайтные PDF по диапазонам с HTTP-серверов и объектных хранилищ: колбэки чтения, кэш по чанкам, слияние запросов и prefetch
Как PDF Library for Delphi публикует починенный QDF атомарно: эксклюзивный временный файл, flush, rename в пределах тома, скопированный DACL и отклоняемые сбои
PDF Library for Delphi открывает AES-128 и AES-256 по hex-ключу шифрования файла, сверяет его с /U или /Perms и оставляет handle только для чтения
Как PDF Library for Delphi чинит повреждённую таблицу xref однопроходным токенным сканером, который не путается в строках, комментариях и байтах потоков
RecolorDocument переводит PDF в серое, RGB или CMYK без перерисовки, конвертируя цветовые операторы, изображения, индексные палитры и точки градиента вместе
Меняйте страницы PDF на месте в PDF Library for Delphi: закладки, ссылки и виджеты полей выживают, если сохранить объект страницы и перенести визуальные ключи
Не-ASCII пароли AES-256 не открываются в чужих читалках без SASLprep: как PDF Library for Delphi готовит пароль по ISO 32000-2 и RFC 4013 прямо в Delphi
Генерируем самоподписанные тестовые сертификаты RSA в Delphi через PDF Library for Delphi и Win32 CryptoAPI: флаги длины ключа CryptGenKey и CRYPT_EXPORTABLE
PDFlibPas гоняет SHA-3 и SHAKE256 на одном ядре Keccak-f[1600], разделённых только доменным байтом pad10*1 и правилом rate, плюс потоковый XOF для Delphi
Три формы пустых подменных реализаций, почему та, что сообщает об успехе, находится труднее всего, и как диагностировать её осмотром выходных байтов
PDFlibPas подписывает PDF по SM2-with-SM3 и шифрует криптофильтром SM4 на чистом Object Pascal: вызовы API, OID, заметки о совместимости и ловушки больших чисел
PDF Library for Delphi создаёт мягкие маски альфа-канала и яркости, задаёт записи Matte изображений и сводит прозрачность к печатному файлу PDF 1.3
Собирайте tagged PDF из Delphi в PDF Library for Delphi: дерево структуры прямо во время рисования, семантика заголовков таблиц, артефакты и диагностика PDF/UA
PDF Library for Delphi связывает каждый извлечённый символ с инструкцией content stream и исходными байтами, чтобы Delphi менял один glyph на месте
Извлекайте позиционированный текст, исходные потоки изображений и метаданные шрифтов из PDF с PDF Library for Delphi, плюс параметры для поиска и аудита
Ищите текст PDF по диапазону страниц в PDF Library for Delphi: каждое совпадение отдаёт свою страницу и прямоугольник, а блоки текста и картинки перечислимы
PDFlibPas импортирует TIFF с 12-битным, lossless, arithmetic и старым JPEG на Pascal и встраивает изображения 8- или 16-битными, читаемые любым PDF-ридером
Если у страницы PDF нет TrimBox, действует CropBox. Какие боксы наследуются от /Pages и как PDFlibPas разрешает боксы страниц при спуске полос в Delphi
Реальное удаление конфиденциальных данных в PDF в Delphi с помощью losLab PDF Library: RedactRegion удаляет байты из контента, а SanitizeDocument очищает
PDF Library for Delphi сопоставляет канонически эквивалентный текст, так что запрос в NFC находит содержимое в NFD, а совпадения не рвут графемные кластеры
Парсер PDF является вектором атаки. Узнайте о переполнениях целых чисел, выходе за границы и бесконечной рекурсии в декодерах Delphi для Delphi
Страница PDF является векторным холстом. Узнайте, как PDF Library for Delphi рисует контуры, кривые Безье, осевые градиенты и повторяющиеся узоры в Delphi
PDF Library for Delphi ведёт японский и китайский текст сверху вниз шрифтом Type0 в режиме вертикального письма, беря вертикальные формы глифов из самого шрифта
Ускорьте PDF-просмотрщик в Delphi с помощью межсессионного дискового кэша страниц и DPI для каждого монитора: хэши FNV-1a, LRU-очистка и WM_DPICHANGED в losLab
PDFlibPas сравнивает страницы PDF в Delphi по видимым пикселям с допуском цвета и областями игнорирования, затем сводит страницы и помечает вставки
PDF Library for Delphi импортирует веб-шрифты WOFF2 и превращает вариативные оси TrueType и CFF2 в статические шрифты, которые дальше встраиваются и сабсетятся
Заполняйте повторяющиеся строки в динамических формах XFA из Delphi с использованием выражений путей XFA 3.3 SOM в losLab PDF Library: корни $record, групповые