Перейти к основному содержимому

PDF/A

PDF/A (PDF for Archiving) — серия стандартов ISO (ISO 19005), описывающих подмножество формата PDF, пригодное для долгосрочного хранения электронных документов. Это основной формат для архивации нормативных актов, отчётов, договоров и других «бумажных» документов в цифровых архивах.

Зачем нужен PDF/A​

Обычный PDF может содержать элементы, зависящие от внешних ресурсов: шрифты, не встроенные в файл; ссылки на внешние изображения; JavaScript-действия; шифрование. Через несколько лет файл может перестать открываться. PDF/A эти ограничения снимает.

Версии стандарта​

ВерсияISOГодОсобенности
PDF/A-1aISO 19005-12005Полная структурная и семантическая разметка (tagged), базовая версия
PDF/A-1bISO 19005-12005Минимальные требования: визуальная идентичность оригиналу
PDF/A-2aISO 19005-22011Разрешена прозрачность, слои, OpenType, JPEG 2000; структурная разметка
PDF/A-2bISO 19005-22011Базовые требования нового поколения
PDF/A-2uISO 19005-22011Расширенные требования к поиску текста (Unicode-маппинг всех шрифтов)
PDF/A-3aISO 19005-32012Разрешены встроенные файлы любых форматов (XML, CSV, CAD); структурная разметка
PDF/A-3bISO 19005-32012Базовые требования + встроенные файлы
PDF/A-3uISO 19005-32012Все шрифты с Unicode-маппингом + встроенные файлы

Уровни a включают требования уровня b/u плюс обязательную логическую структуру (tagged PDF), что упрощает поиск и извлечение содержимого.

Что запрещено в PDF/A​

  • Шифрование: документ не должен быть защищён паролем или содержать DRM-ограничения.
  • Внешние ссылки на шрифты и изображения: всё должно быть встроено в файл.
  • JavaScript-объекты и активные формы (actions): допустимы только триггеры печати и сохранения.
  • Аудио и видео контент: в PDF/A-1 полностью запрещены, в PDF/A-2 разрешены только в виде вложений, привязанных к аннотациям.
  • Прозрачность (PDF/A-1): в PDF/A-2 разрешена с ограничениями.
  • Ссылки на внешние ресурсы: URI-ссылки на другие документы не должны влиять на визуальное отображение.

Определение уровня PDF/A в файле​

PDF/A-файл содержит XMP-метаданные с указанием уровня соответствия:

<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/">
<pdfaid:part>2</pdfaid:part>
<pdfaid:conformance>B</pdfaid:conformance>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>

Этот блок должен присутствовать в метаданных документа. Его наличие — необходимое, но не достаточное условие: файл может быть помечен PDF/A-2b, но при этом содержать запрещённые элементы.

Создание PDF/A​

Из офисных пакетов​

LibreOffice и Microsoft Office (через «Сохранить как PDF», затем специальный режим) умеют сохранять в PDF/A, но результат часто требует последующей валидации.

# LibreOffice: сохранить в PDF/A-2b
soffice --headless --convert-to pdf:writer_pdf_Export:'{"PDFVersion":"PDF/A-2b"}' document.docx

Через Ghostscript​

gs -dPDFA=2 -dPDFACompatibilityPolicy=1 \
-sColorConversionStrategy=UseDeviceIndependentColor \
-sDEVICE=pdfwrite -o output.pdf input.pdf

Через veraPDF или Apache PDFBox​

# Конвертация и проверка одной командой
verapdf --input output.pdf --profile PDF/A-2B --regress

Валидация​

Валидация — критический этап: файл может быть помечен PDF/A, но не пройти комплаенс-проверку.

veraPDF (основной валидатор)​

veraPDF — эталонный open-source валидатор, поддерживаемый PDF Association.

# Установка
apt install verapdf

# Проверка одного файла
verapdf --input document.pdf

# Проверка целой директории
verapdf --input ./archive/ --profile PDF/A-2B

# CI-friendly отчёт (JUnit XML)
verapdf --input document.pdf --profile PDF/A-2B --format junit

veraPDF поддерживает профили: PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-2U, PDF/A-3A, PDF/A-3B, PDF/A-3U.

Другие инструменты​

  • Apache PDFBox (pdfbox-app) — pdfbox-app.jar PDFA document.pdf.
  • 3-Heights PDF/A Validator — коммерческий, но с trial-версией.
  • PDF/A Manager от PDFTron.

PUID в PRONOM​

Формат PDF/A зарегистрирован в реестре PRONOM с уникальными идентификаторами (PUID), которые можно получить через Siegfried:

ФорматPUID
PDF/A-1afmt/354
PDF/A-1bfmt/353
PDF/A-2afmt/477
PDF/A-2bfmt/475
PDF/A-2ufmt/476
PDF/A-3afmt/619
PDF/A-3bfmt/617
PDF/A-3ufmt/618

PUID должен сохраняться в метаданных архивного объекта — это даёт точное знание о версии формата вне зависимости от того, какие инструменты будут доступны через 30 лет.

Сценарии использования в Ruarxive​

  • Нормативные акты и законы, публикуемые государственными органами в формате PDF/A — типичный случай для архивов законодательства.
  • Отчёты, протоколы, акты — материалы, подписываемые ЭЦП и размещаемые как PDF/A-3 с встроенной подписью.
  • Сканы с бумаги с OCR-слоем — после OCR и встраивания шрифтов свёрзаются в PDF/A-2u для поиска по тексту.
  • Архивные описи и каталоги, опубликованные в PDF/A-1a для обеспечения доступности.

Рекомендации​

  • По умолчанию используйте PDF/A-2b — это современный и широко поддерживаемый уровень.
  • Если нужен поиск по тексту или OCR — PDF/A-2u.
  • Если требуется логическая структура (для accessibility) — PDF/A-2a или PDF/A-1a.
  • Если нужно встроить исходные данные (XML, CSV, JSON) — PDF/A-3b.
  • Всегда валидируйте через veraPDF перед приёмом в архив.
  • Сохраняйте PUID в метаданных объекта для долгосрочной идентификации.

Ресурсы​

Связанные материалы​