Нативные сценарии HTML, редактирования, OCR и архивации в Linux

Нативный колбэк-ABI Linux принимает html.import, text.draw, ocr и pdfa.convert со schemaVersion 1 и существующими бюджетами вывода, результата, рабочих байтов и пикселей

Импорт HTML

{"schemaVersion":1,"type":"html.import","html":"<h1>Invoice</h1><p>Searchable Unicode</p>","createAcroForms":true}

Импорт HTML работает на пустом дескрипторе и использует общий движок раскладки HTML5/CSS с нативным холстом рисования, сопоставлением Fontconfig, встроенными Unicode-шрифтами TrueType, шейпингом HarfBuzz/FriBidi, ресурсами PNG/JPEG/BMP/GIF, альфа-масками, гиперссылками, пагинацией и элементами управления AcroForm

ABI принимает встроенные ресурсы данных; колбэк сетевых или файловых ресурсов он не устанавливает, а вызывающие Pascal могут передать существующий колбэк импортёра для явных ресурсов шрифтов, изображений и стилей

Необязательные pageWidth и pageHeight задаются в пунктах; maxPages и maxLayoutOperations должны быть положительными, а выделения DOM, CSS, ресурсов и изображений также следуют бюджету операции

Редактирование текста страниц

{"schemaVersion":1,"type":"text.draw","page":0,"text":"Searchable Unicode","left":36,"bottom":36,"right":559,"top":108,"fontFamily":"DejaVu Sans","fontSize":12,"invisible":true}

Вставка сохраняет исходные потоки страниц, включая косвенно ссылаемые массивы содержимого, и добавляет встроенный appearance формы Unicode с приватным именем ресурса; невидимый текст использует режим рендеринга 3 и остаётся доступным для поиска

Координаты — точки пользовательского пространства PDF без поворота; characterSpacing и wordSpacing задаются в пунктах, а аутентифицированные замены AES-256 сохраняют шифрование, пароли и права

Pascal-API AppendPageText дополнительно принимает поворот appearance на четверть оборота и явное вписывание в прямоугольник

Фактический OCR

{"schemaVersion":1,"type":"ocr","pages":[0],"language":"eng","dpi":216,"searchLayer":true,"maxMilliseconds":120000}

OCR отрисовывает фактические пиксели страниц и вызывает установленный исполняемый файл Tesseract напрямую с вектором аргументов, читает ограниченные слова TSV, валидирует UTF-8, confidence и координаты страниц и отображает геометрию повёрнутых/обрезанных страниц обратно в координаты PDF

Результат включает слова по страницам с текстом, confidence, left, bottom, right и top; searchLayer false возвращает данные распознавания, а true дополнительно выпускает PDF с вписанным невидимым текстом со встроенным шрифтом

Необязательный tesseractPath выбирает явный исполняемый файл; maxWords, minimumConfidence и maxMilliseconds ограничивают распознавание, а отмена или таймаут завершает и забирает запущенный процесс

Нативный растровый вывод PDF/A-4

{"schemaVersion":1,"type":"pdfa.convert","profile":"PDF/A-4","dpi":144}

Нативная растровая конвертация создаёт свежие незашифрованные страницы PDF 2.0 с запечённым поворотом страниц, XMP PDF/A-4, идентификаторами документа и сгенерированным встроенным output intent sRGB; текущая приёмка включает независимую валидацию veraPDF с нулём несработавших правил и проверок

Вывод растрирует исходный текст и векторы, уплощает видимые appearance, заменяет исходные метаданные и отбрасывает интерактивные поля, действия, вложения и подписи; результат сообщает rasterized, removedFormFields и removedSignatures

Подписанные входы требуют явного allowSignatureInvalidation true; видимым аннотациям нужен пригодный normal appearance до уплощения, а нативное сохранение текста/векторов даёт режим конвертации с сохранением поиска и подлинной валидацией

Явный ремонт шрифтов для архивации встраивает доступные замены через ограниченную нормализацию Ghostscript, сохраняет текст с поиском и векторы и валидирует PDF/A-4 до публикации

Публикация и рантаймы

Весь бинарный вывод подготавливается до колбэков; сгенерированный или отредактированный документ заменяет дескриптор только после успешных output- и JSON-колбэков, а сбои сохраняют предыдущий контекст

Нативному HTML нужны читатели изображений FCL, Fontconfig, установленные Unicode-шрифты TrueType, HarfBuzz и FriBidi; OCR дополнительно требует Tesseract и обученные языковые данные, а генерация архивного профиля — Little CMS 2

Колбэк-ABI · Нативный холст рисования · Pascal-API OCR · Pascal-API архивации

Добавление выбранных страниц и валидация PDF/A-4 с сохранением текста/векторов