Нативный импорт страниц и сохранение PDF/A-4

Добавляйте выбранные страницы с их исходными потоками текста и векторного содержимого, унаследованными MediaBox/CropBox/Rotate, явным UserUnit, встроенными шрифтами, изображениями, общими ресурсами и циклическими косвенными идентичностями

AppendImportedPages работает с двумя различными загруженными документами, сохраняет ревизию и шифрование назначения и ставит все импортированные объекты в очередь до фиксации дерева страниц; дублирующийся выбор, недопустимые ссылки, отмена, права и бюджеты байтов/объектов/страниц оставляют назначение неизменным

Выбранные исходные аннотации становятся обычным содержимым Form XObject с их состоянием normal appearance, BBox и Matrix; исходные интерактивности и поля не импортируются, скрытые аннотации удаляются, а flattenAnnotations=false явно удаляет все исходные аннотации

Видимым аннотациям нужны пригодные normal appearance; геометрия NoZoom/NoRotate требует иной политики редактирования, а подписанным или сертифицированным документам назначения нужна отдельная политика подписанных документов

Пользовательские пароли источника обязаны разрешать извлечение текста, а пользовательские пароли назначения — изменение содержимого; аутентификация владельца обходит эти ограничения прав

Проверенное сохранение

HPDFConvertHeadlessToPDFA4PreservingFile создаёт независимый документ PDF 2.0 с фактическим output intent sRGB и XMP PDF/A-4, импортирует исходное содержимое и уплощённые appearance, валидирует подготовленного кандидата подлинным CLI veraPDF и публикует атомарно только соответствующий вывод

Конвертация удаляет исходное шифрование, интерактивные поля, подписи, действия каталога, метаданные документа и вложения каталога, сохраняя достижимое содержимое/ресурсы страниц; allowSignatureInvalidation обязан быть явным, когда источник содержит подписанные поля

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

Конфигурация валидатора

Установите headless Java и официальный JAR CLI veraPDF, затем задайте HOTPDF_VERAPDF_JAR или настройте ValidatorJAR в Pascal; пути по умолчанию — /usr/bin/java и /opt/hotpdf-verapdf/cli.jar

Валидация использует отдельные аргументы процесса, headless Java, сконфигурированный лимит кучи, ограниченные stdout/stderr, бюджет времени и отмену; таймаут/отмена завершает и забирает дочерний процесс и удаляет приватные staging-файлы

Управляемая подготовка и лимиты Java-кучи не являются капом RSS операционной системы

Колбэк-операции

{"schemaVersion":1,"type":"pages.import","pages":[2,0,1],"sourcePassword":"source-owner","flattenAnnotations":true}
{"schemaVersion":1,"type":"pdfa.convert","profile":"PDF/A-4","mode":"preserve"}

pages.import требует загруженного дескриптора назначения и отдельного InputIO источника; аутентификация назначения остаётся за дескриптором, а sourcePassword применяется только к импортируемому вводу

pdfa.convert по умолчанию растрирует; preserve сохраняет содержимое текста/векторов и вызывает veraPDF до output-колбэков, затем заменяет дескриптор проверенным незашифрованным документом только после успешной публикации вывода и результата

Приёмка

Нативный Linux FPC 3.2.2 и 3.3.1 проверяет исходные байты потоков/шрифтов/CMap, унаследованные ресурсы, повороты, ревизии источника/назначения AES, преобразованные appearance, циклические ресурсы, поведение перезагрузки, rollback, фактическую валидацию PDF/A-4 и ограниченное время жизни дочерних процессов; Windows FPC и Delphi упражняют импорт страниц, а обе архитектуры C++Builder компилируют публичные заголовки

sh Tests/Linux/Run-HeadlessPageImportAcceptance.sh
sh Tests/Linux/Run-LinuxABIAcceptance.sh

Импорт страниц и контракты архивного сохранения · Нативные сценарии документов