Очистка PDF от метаданных и скрытых данных: полная проверка

Как очистить PDF от метаданных, вложений и скрытых данных

Очистка PDF от метаданных и скрытых объектов с проверкой

У PDF нет единственного переключателя «удалить всё скрытое». Окно свойств показывает лишь часть сведений: заголовок, автора, тему, ключевые слова, программу-создателя и даты. Внутри того же файла могут отдельно существовать XMP-пакет, вложенные документы, комментарии с именами рецензентов, данные форм, сценарии, скрытые слои, невидимый текст, прежние версии объектов и служебные идентификаторы. Поэтому безопасная очистка строится как последовательность: определить риск, работать с копией, удалить нужные категории, сохранить новый файл и проверить его независимыми средствами.

Критически важно: любое изменение подписанного PDF меняет байты документа. Существующая цифровая подпись после сохранения обычно становится недействительной либо показывает, что документ изменён после подписания. Сначала сохраните подписанный оригинал, решите, допустимо ли выпускать новую неподписанную копию, и только затем очищайте её.

Что считать успешным удалением метаданных PDF

Успешный результат зависит от задачи. Для публикации обычной инструкции может быть достаточно убрать имя автора и внутреннее название проекта. Для юридического обмена, журналистской работы, кадровых документов или передачи материалов внешнему подрядчику требуется более строгая санация: очистка стандартных полей и XMP, удаление вложений, комментариев, личных данных форм, скрытых слоёв и действий, а затем поиск остаточных строк в переписанном файле. Формулировка «метаданные удалены» без перечисления проверенных категорий слишком расплывчата.

Уровень Что удаляется Для чего подходит Что остаётся под вопросом
Базовый Автор, заголовок, тема, ключевые слова, Creator и Producer Низкорисковая публикация, где нужно скрыть только свойства XMP, вложения, комментарии, слои, формы, история объектов
Расширенный Основные поля, XMP и выбранные категории скрытого содержимого Рабочие документы без цифровой подписи Невидимый текст страницы, нестандартные частные объекты, остатки инкрементных обновлений
Санация Удаление скрытых категорий, редактирование чувствительного содержимого, полная перезапись и независимая проверка Внешняя публикация конфиденциальных материалов Нужно отдельно оценить качество страниц, доступность, подписи и соответствие требованиям архива

Почему пустые поля в «Свойствах» не равны анонимности

Стандартный словарь Document Info и XMP — две разные системы хранения описания. Редактор может очистить поля в видимом диалоге, но оставить XML-пакет XMP в каталоге PDF. Аналогично, имя автора комментария хранится в объекте аннотации, а имя вложенного файла — в дереве EmbeddedFiles. Они не обязаны появляться на вкладке «Описание». Слои Optional Content Groups, данные форм и действия документа также находятся в других объектах. Проверка только одного окна поэтому даёт ложное чувство безопасности.

Свойства PDF до очистки в pdfinfo
Команда pdfinfo показывает автора, создателя, производителя, даты и наличие XMP до обработки.
Список вложений PDF до очистки
pdfdetach обнаруживает встроенный файл contacts.txt в тестовом PDF.
Каталог PDF до структурной очистки
Проверка каталога выявляет XMP, дерево имён, слой и страницу с аннотацией.
Фрагмент XMP-пакета до очистки
В XMP-потоке видны заголовок, имя автора, программа-создатель и дата метаданных.

Что именно искать перед очисткой

  • Document Info: Title, Author, Subject, Keywords, Creator, Producer, CreationDate, ModDate и пользовательские ключи.
  • XMP: Dublin Core, XMP Basic, PDF schema и частные XML-схемы, включая имя автора, программу, идентификаторы и даты.
  • Аннотации: заметки, выделения, штампы, рукописные пометки, ответы и статусы рецензирования.
  • Вложения: исходники, таблицы, изображения, XML, портфолио и файлы, прикреплённые к аннотациям.
  • Слои и невидимое содержимое: OCG-слои, белый текст, обрезанные объекты, текст под закрашенным прямоугольником и скрытые поля.
  • Интерактивность: AcroForm/XFA, JavaScript, действия открытия, ссылки запуска файлов и сохранённые значения полей.
  • История: неиспользуемые объекты прошлых инкрементных сохранений, старые потоки и прежние значения метаданных.
  • Подписи: поля подписи, сертификаты, отметки времени и границы подписанных диапазонов.
Комментарий в PDF до очистки
Структурный отчёт показывает текстовую аннотацию, её автора и содержимое.
Поиск служебных маркеров в байтах PDF
Поиск строк находит идентификатор дела, имя компьютера, отдел и название скрытого слоя.
Извлечение скрытого текстового слоя
pdftotext обнаруживает строку, которая визуально не была заметна на странице.
Проверка цифровых подписей перед изменением
pdfsig сообщает, содержит ли исходный документ цифровые подписи.

Подготовка: копия, права доступа и модель угроз

Сделайте две копии: неизменяемый оригинал и рабочий экземпляр. Оригинал нужен для сверки страниц, доказательства исходного состояния и восстановления подписи. Рабочий файл переименуйте так, чтобы он не мог случайно перезаписать оригинал. Для серии документов создайте отдельные каталоги «source», «cleaned» и «checked»; переносите файл в «checked» только после повторной проверки.

Уточните, что получатель не должен узнать. Это может быть имя автора, название организации, путь к сетевой папке, идентификатор дела, адрес электронной почты рецензента, список вложений или невидимый текст. Конкретный список определяет инструменты. Если требуется скрыть фразу на странице, очистка метаданных не поможет: нужна настоящая редакция с удалением содержимого, а не чёрный прямоугольник поверх текста.

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

Минимальный протокол до начала работы

  1. Откройте файл в доверенном просмотрщике и убедитесь, что это нужная версия, а не ярлык, черновик или портфолио с несколькими документами.
  2. Запишите число страниц, размер листов, ориентацию, наличие закладок, форм, вложений, комментариев и подписей.
  3. Снимите контрольную сумму оригинала и храните её рядом с журналом обработки.
  4. Проверьте свойства документа и XMP отдельным инструментом.
  5. Сформулируйте критерий приёмки: какие поля должны исчезнуть, какие интерактивные функции можно потерять, а какие обязаны сохраниться.
  6. Работайте только с копией и сохраняйте результат под новым именем.

Способ 1. PDF Commander: очистка стандартных полей документа

Главный экран PDF Commander перед открытием документа
На главном экране PDF Commander выберите «Открыть PDF» и загрузите рабочую копию.
Открытие PDF в стартовом окне PDF Commander
Документ открывается отдельной рабочей копией, чтобы исходник оставался неизменным.
Окно свойств и метаданных PDF Commander
В окне свойств доступны стандартные поля автора, заголовка, темы и ключевых слов.
Команда сохранения очищенной копии в PDF Commander
Через меню «Файл» сохраните результат под новым именем и затем повторно проверьте свойства.

PDF Commander подходит для изменения основных описательных полей на Windows. Подтверждённый путь находится на верхней панели в разделе «Безопасность»: команда «Изменить метаданные» открывает окно с автором, издателем или создателем, заголовком, темой и ключевыми словами. Этот способ следует считать базовым. Он полезен, когда задача ограничена видимыми свойствами, но не подтверждает удаление XMP, вложений, комментариев, слоёв и прежних объектов файла.

Пошаговая последовательность

  1. Создайте копию PDF и запустите PDF Commander. На стартовом экране выберите «Открыть PDF» либо перетащите рабочую копию в окно.
  2. Убедитесь, что открыт правильный документ: проверьте первую и последнюю страницы, число листов и имя файла в заголовке окна.
  3. Перейдите на вкладку «Безопасность». Не выбирайте установку пароля или визуальное закрашивание текста: это другие операции.
  4. Нажмите «Изменить метаданные». В появившемся окне последовательно очистите поля автора, создателя или издателя, заголовка, темы и ключевых слов. Не заменяйте личные сведения пробелами: используйте действительно пустое значение.
  5. Подтвердите изменения. Если программа показывает предупреждение о сохранении, выберите создание новой копии.
  6. Откройте «Файл» и используйте «Сохранить как…». Задайте новое имя, например document_public.pdf, и отдельную папку.
  7. Закройте сохранённый файл и откройте его заново, чтобы исключить проверку несохранённого состояния в памяти.
  8. Проверьте свойства в другом просмотрщике или командой pdfinfo. Затем отдельно проверьте XMP, вложения и комментарии.

Как трактовать результат

Пустые поля в окне PDF Commander означают, что базовые значения изменены в поддерживаемой программой части документа. Это не равнозначно полной санации. Если файл предназначен для публичного размещения и раньше проходил рецензирование, содержал вложения или создавался в офисной системе с XMP, после PDF Commander нужен дополнительный этап — например, Remove Hidden Information/Sanitize в Acrobat Pro или структурная очистка с независимой проверкой.

Не используйте формулировку «файл полностью анонимен» только на основании окна «Изменить метаданные». Корректная формулировка: «очищены стандартные поля автора, заголовка, темы и ключевых слов; остальные категории проверены отдельно».

Способ 2. Adobe Acrobat Pro: свойства, Remove Hidden Information и Sanitize

Открытие сведений о документе в Adobe Acrobat Pro
В Adobe Acrobat Pro свойства документа открываются из меню «Файл».
Команда свойств PDF в Adobe Acrobat Pro
Пункт «Свойства» ведёт к основным полям описания и расширенным метаданным PDF.
Вкладка Description в свойствах Adobe Acrobat Pro
На вкладке Description очистите или исправьте Title, Author, Subject и Keywords.
Окно дополнительных XMP-метаданных Adobe Acrobat Pro
Дополнительные метаданные проверяются отдельно: пустые основные поля не гарантируют отсутствия XMP.

В Acrobat Pro есть два разных уровня. «Свойства документа» редактируют описание и дополнительные XMP-схемы. Инструменты «Удалить скрытую информацию» и «Санитизация документа» ищут несколько категорий скрытого содержимого и позволяют удалить их перед сохранением. Для конфиденциального файла начинайте не с одной вкладки Description, а с полного анализа скрытой информации.

Очистка основных свойств и XMP

  1. Откройте рабочую копию. В Windows выберите меню приложения и «Свойства документа»; в macOS используйте соответствующую команду меню файла или просмотра.
  2. На вкладке «Описание» очистите Title, Author, Subject и Keywords. Проверьте Creator и Producer в расширенных сведениях: некоторые поля могут быть только для чтения и изменяться при сохранении.
  3. Нажмите «Дополнительные метаданные». На панели «Расширенные» просмотрите схемы XMP. Удаляйте только те схемы, которые действительно не нужны; для строгой анонимизации обычно убирают пользовательские и авторские блоки.
  4. Подтвердите диалог, но пока не считайте работу законченной: комментарии и вложения находятся вне этого окна.

Санация скрытого содержимого

  1. Откройте набор инструментов редактирования конфиденциальной информации и выберите «Санитизация документа» либо «Удалить скрытую информацию» — название зависит от версии и языка интерфейса.
  2. Запустите анализ. Acrobat перечислит найденные категории: метаданные, комментарии, вложения, скрытый текст или слои, данные форм, ссылки и другие объекты. Не нажимайте «Удалить всё» автоматически, если документ должен сохранить форму, закладки или доступность.
  3. Для выборочной очистки раскройте результаты и отметьте категории. Комментарии и вложения удаляйте осознанно: после сохранения восстановить их из очищенной копии нельзя.
  4. Если на странице есть чувствительный текст, сначала используйте настоящий инструмент редактирования: отметьте фрагменты, примените редактирование, затем выполните санацию. Простое закрашивание поверх текста не удаляет символы из контентного потока.
  5. Сохраните как новый файл. Закройте Acrobat, снова откройте результат и повторите поиск скрытой информации. Нулевой результат анализа — полезный сигнал, но для высокорискового документа добавьте внешний контроль.

Что может измениться

Санация способна удалить комментарии, вложения, сценарии, форму или скрытые слои, поэтому перед применением сравните функциональные требования. Если интерактивная форма должна остаться рабочей, удаляйте персональные значения полей, но не всю AcroForm без согласования. Если документ подписан, сохранение после очистки нарушит подпись. Если требуется сохранить доказательную силу, очищенную копию создают как отдельный производный документ и подписывают заново уполномоченным процессом.

Способ 3. PDF24 Creator: удаление метаданных локально или в веб-инструменте

Выбор PDF в инструменте Remove PDF metadata от PDF24
Добавьте рабочую копию в инструмент удаления метаданных PDF24.
Кнопка Remove metadata в PDF24 Tools
После загрузки нажмите Remove metadata и скачайте отдельный результат.

PDF24 предлагает отдельный инструмент Remove PDF Metadata и вариант в настольном наборе Creator. Базовый сценарий прост: добавить файл, запустить удаление, скачать или сохранить новый PDF. Такой инструмент удобен для серий документов, где нужно убрать стандартные значения автора, создателя, дат, заголовка, темы, ключевых слов и комментария в метаданных. При этом название «remove metadata» не следует автоматически распространять на вложения, аннотации, слои и невидимый текст страниц — эти категории проверяются отдельно.

Настольный вариант

  1. Запустите PDF24 Creator и откройте панель инструментов. Найдите модуль удаления метаданных, а не редактор сведений документа.
  2. Добавьте одну или несколько рабочих копий. Перед пакетной обработкой протестируйте один файл с известными полями.
  3. Запустите операцию и сохраните результат в новый каталог. Не направляйте вывод в папку с оригиналами.
  4. Для каждого результата проверьте свойства, XMP и количество страниц. Пакетный режим экономит время, но одна ошибка настройки масштабируется на всю подборку.

Веб-вариант и конфиденциальность

Онлайн-инструмент требует передачи файла через браузер. Для публичного буклета это может быть приемлемо, для договоров, медицинских, кадровых и следственных материалов — часто нет. До загрузки проверьте правила хранения, юрисдикцию, срок удаления и разрешение организации на использование внешнего сервиса. Даже обещание автоматического удаления не заменяет внутреннюю политику обработки данных.

После скачивания не доверяйте только сообщению «готово». Сравните число страниц, проверьте, что файл открывается офлайн, затем исследуйте свойства и скрытые категории. Если исходник содержит вложения или комментарии, откройте соответствующие панели в просмотрщике и убедитесь, что они действительно удалены либо сохранены согласно задаче.

Способ 4. PDFelement: редактирование сведений и контроль скрытых элементов

Главный экран PDFelement с кнопкой Open PDF
В PDFelement откройте копию документа через Open PDF.
Поля Description в свойствах PDF программы PDFelement
На вкладке Description очистите стандартные свойства и сохраните новую копию.

В PDFelement основные сведения доступны через свойства файла. Очистите название, автора, тему и ключевые слова, примените изменения и сохраните новую копию. Конкретные названия команд меняются между выпусками Windows и macOS, поэтому ориентируйтесь на «Файл» → «Свойства» или панель информации о документе, а не на случайные инструкции для другой версии.

  1. Откройте копию PDF и перейдите в свойства документа.
  2. На вкладке описания очистите поля с личными и внутренними значениями. Проверьте, не подставляет ли приложение имя владельца лицензии автоматически.
  3. Откройте панели комментариев, вложений и форм. Удалите объекты, которые не должны попасть получателю.
  4. Если используется функция удаления скрытых данных, сначала просмотрите перечень категорий и последствия.
  5. Сохраните под новым именем, перезапустите приложение и проверьте файл заново.

Не смешивайте редактирование метаданных с визуальным редактированием страницы. Удаление имени автора из Properties не удалит подпись под изображением, текст в слое OCR или адрес в комментарии. И наоборот, удаление видимого текста не очищает XMP. Для чувствительного документа оба направления выполняются и проверяются отдельно.

Способ 5. PDF Candy и Sejda: очистка полей через браузер

Добавление файла в редактор метаданных PDF Candy
В PDF Candy нажмите Add File и выберите копию без конфиденциальных вложений.
Поля метаданных и кнопка Apply changes в PDF Candy
Очистите поля и примените изменения кнопкой Apply changes.
Загрузка PDF в инструмент Edit PDF Metadata сервиса Sejda
В Sejda загрузите файл в Edit PDF Metadata и дождитесь появления формы.
Выбор удаления или изменения метаданных в Sejda
Выберите полное удаление метаданных либо точечное изменение нужных полей.

PDF Candy и Sejda предоставляют формы для изменения PDF-метаданных. Пользователь загружает файл, получает поля Author, Title, Subject, Keywords и другие значения, очищает их, применяет изменения и скачивает новый PDF. Этот подход удобен на Chromebook, Linux или чужом компьютере без установки редактора, но требует оценки рисков передачи файла стороннему сервису.

Безопасная последовательность для онлайн-сервиса

  1. Удалите из имени файла персональные сведения ещё до загрузки: веб-сервис может журналировать исходное имя отдельно от содержимого.
  2. Используйте рабочую копию. Не загружайте подписанный оригинал, если нет согласованной причины нарушать подпись.
  3. Добавьте PDF и дождитесь отображения полей. Очистите значения, не оставляя пробелы или маскирующие символы.
  4. Нажмите применение изменений и скачайте результат. Сразу переименуйте его по внутреннему правилу версий.
  5. Удалите локальные временные копии из папки загрузок только после проверки результата и сохранения нужного экземпляра.
  6. Откройте файл офлайн и проведите независимую проверку. Не полагайтесь на веб-страницу после завершения задачи.

Если документ содержит коммерческую тайну, персональные данные, неопубликованный код или материалы ограниченного доступа, предпочтительнее локальная программа. Онлайн-редактор может быть технически защищён, но сам факт передачи третьей стороне может нарушить договор, внутреннее положение или требования заказчика.

Способ 6. pypdf: управляемая структурная очистка в Python

Автоматический сценарий полезен, когда нужно обработать сотни однотипных файлов и зафиксировать одинаковую политику. pypdf позволяет клонировать документ, очистить Document Info и удалить отдельные ключи каталога и страниц. Такой код требует тестов на реальных образцах: частные ключи библиотеки и структура нестандартных PDF могут отличаться, а чрезмерное удаление способно сломать формы, навигацию или доступность.

from pypdf import PdfReader, PdfWriter
from pypdf.generic import NameObject

reader = PdfReader('source.pdf')
writer = PdfWriter()
writer.clone_document_from_reader(reader)
writer.metadata = None

for key in ['/Metadata', '/Names', '/OpenAction', '/AA',
            '/OCProperties', '/AcroForm']:
    writer._root_object.pop(NameObject(key), None)

for page in writer.pages:
    for key in ['/Annots', '/AA', '/PieceInfo']:
        page.pop(NameObject(key), None)

with open('cleaned.pdf', 'wb') as out:
    writer.write(out)

Этот пример намеренно агрессивен. Удаление /Names может затронуть не только вложения, но и именованные назначения; удаление /AcroForm уничтожает интерактивную форму; удаление /Annots убирает ссылки и другие аннотации вместе с комментариями. Для производственного решения анализируйте дерево имён и подтипы аннотаций точечно. Зафиксируйте версию библиотеки, набор тестовых PDF и ожидаемый отчёт по каждой категории.

Что показал контрольный тест

На синтетическом файле простое обнуление стандартных полей оставило XMP, вложение, комментарий и слой. Структурный сценарий удалил эти объекты, но скрытый текст непосредственно в контенте страницы сохранился. Это принципиальная граница: санация структуры не заменяет редактирование содержимого. Фраза, нарисованная белым цветом или помещённая за другим объектом, остаётся текстом страницы, пока контентный поток не изменён.

Запуск структурной очистки PDF
Тестовый скрипт удаляет Info, XMP, вложения, аннотации, слои, формы и действия, затем переписывает файл.
Свойства после структурной очистки
pdfinfo больше не видит пользовательские метаданные и поток XMP.
Каталог после структурной очистки
В каталоге отсутствуют Metadata, Names, OCProperties и страницы с Annots.
Отсутствие XMP после структурной очистки
Повторная инспекция подтверждает, что каталоговый XMP-поток удалён.
Отсутствие вложений после очистки
pdfdetach сообщает, что в очищенном PDF нет встроенных файлов.
Отсутствие комментариев после очистки
На обеих страницах число аннотаций равно нулю.
Побайтовый поиск после очистки
Контрольный поиск не находит имя автора, отдел и имя компьютера; отдельный тест выявляет остаточный маркер и требует разбирательства.
Текстовый слой после очистки структуры
Извлечение текста показывает: скрытый текст страницы остаётся, потому что удаление метаданных не является редактированием содержимого.

Как сделать пакетный процесс надёжнее

  • Сначала запускайте режим аудита без изменений и сохраняйте JSON-отчёт по каждому файлу.
  • Отдельно задавайте политики: убрать только метаданные; убрать вложения; удалить комментарии; сплющить формы; удалить JavaScript.
  • Запрещайте перезапись оригинала на уровне кода и файловых прав.
  • После записи повторно открывайте PDF другой библиотекой, проверяйте число страниц и извлекайте текст для сравнения.
  • Отмечайте файл как готовый только при прохождении всех обязательных проверок; исключения отправляйте на ручной разбор.

Способ 7. Ghostscript и печать в новый PDF: только как контролируемая визуальная копия

Перезапись через Ghostscript или виртуальный PDF-принтер часто воспринимается как универсальная очистка. Это неверно. Результат зависит от драйвера, параметров и особенностей исходника. В контрольном тесте Ghostscript сохранил стандартные поля, XMP, вложение, слой и комментарий, одновременно записав нового Producer. Значит, команда pdfwrite без специальной политики не является гарантированным санитайзером.

gs -dSAFER -dBATCH -dNOPAUSE \
   -sDEVICE=pdfwrite -dCompatibilityLevel=1.7 \
   -sOutputFile=copy.pdf source.pdf
Перезапись PDF через Ghostscript
Команда pdfwrite создаёт новый PDF, но сама по себе не гарантирует удаление всех скрытых категорий.
Метаданные в результате Ghostscript
Проверка показывает прежние поля документа и новый идентификатор производителя Ghostscript.
Скрытые объекты после Ghostscript
В тесте сохранились XMP, вложение, слой и аннотация, поэтому результат нельзя считать санитизированным.

Печать в PDF может быть полезна, когда требуется плоская визуальная копия и допустима потеря интерактивности. Она часто удаляет формы, закладки, теги доступности, вложения, часть аннотаций и слои, но может добавить имя принтера, пользователя, программу и новые даты. Гиперссылки и качество изображений также меняются. Поэтому после печати заново проверяют метаданные, текстовый слой, разрешение, размер страниц и доступность.

Когда этот способ нельзя выбирать

  • Нужно сохранить цифровую подпись или доказать неизменность исходника.
  • Форма должна остаться заполняемой, а поля — доступными для автоматической обработки.
  • Документ обязан соответствовать PDF/A или PDF/UA без повторной валидации.
  • Важны закладки, теги, вложения, слои или структурная навигация.
  • Требуется гарантированно удалить чувствительный текст: печать может оставить его в текстовом слое.

Способ 8. Preview на macOS: просмотр свойств и создание производной копии

Открытие PDF через приложение Preview на macOS
Откройте рабочую копию в Preview через контекстное меню Finder.
Команда Export в меню File приложения Preview
Команда Export создаёт производную копию; после неё всё равно проверьте свойства и скрытые объекты.

Preview удобен для быстрой проверки и экспорта, но не предоставляет эквивалент полной санации Acrobat Pro. Через инспектор можно просмотреть общие сведения, а через печать или экспорт — создать новый PDF. Такой результат рассматривайте как производную копию: он может потерять интерактивные элементы и получить новые системные метаданные.

  1. Откройте рабочую копию и вызовите Inspector. Просмотрите общую информацию, шифрование, размер страниц и вложения, если они отображаются.
  2. Проверьте боковые панели заметок и аннотаций. Удалите ненужные пометки вручную.
  3. Для визуальной копии используйте печать с сохранением в PDF либо экспорт под новым именем.
  4. Закройте Preview и откройте результат заново. Проверьте свойства внешней утилитой, потому что сама операция может добавить Creator или Producer.
  5. Сравните текст, ссылки, закладки, изображения и подписи с исходником.

На macOS также учитывайте расширенные атрибуты файла, например сведения о происхождении загрузки. Они относятся к файловой системе, а не к внутренней структуре PDF, но могут передаваться при упаковке или копировании определёнными способами. Проверяйте как сам PDF, так и оболочку распространения — ZIP, облачную ссылку или общий каталог.

Как удалить вложения, портфолио и прикреплённые исходники

Встроенные файлы — отдельная категория. PDF может выглядеть как две страницы, но содержать таблицу, исходник изображения, XML или другой PDF. Вложения бывают документного уровня, частью PDF Portfolio или прикреплены к конкретной аннотации. Очистка автора и XMP их не затрагивает.

  1. Откройте панель вложений в редакторе. Зафиксируйте имена, размеры и назначение файлов.
  2. Если вложения нужны получателю, извлеките их и проверьте отдельно: каждый вложенный файл может иметь собственные метаданные.
  3. Удалите ненужные вложения из PDF и сохраните новую копию.
  4. Повторно откройте документ и убедитесь, что панель пуста.
  5. Дополнительно выполните структурную проверку дерева EmbeddedFiles или команду списка вложений.

Не удаляйте всё дерево /Names вслепую в производственном сценарии: там могут находиться именованные назначения, используемые ссылками и закладками. Безопаснее удалить именно ветку EmbeddedFiles и проверить навигацию. Для портфолио часто проще экспортировать разрешённые документы, очистить каждый отдельно и собрать обычный PDF без оболочки Portfolio.

Как удалить комментарии, штампы и следы рецензирования

Комментарии содержат не только видимый текст. Объект аннотации может хранить автора, дату создания и изменения, тему, статус, ответы и уникальное имя. Даже пустая заметка способна раскрыть учётную запись рецензента. Проверьте заметки, выделения, подчёркивания, штампы, рукописные линии, файловые вложения и всплывающие ответы.

В редакторе используйте панель комментариев и команду удаления всех комментариев только после экспорта нужного журнала рецензирования. Если требуется оставить ссылки, не удаляйте все /Annots: ссылки тоже являются аннотациями. Фильтруйте подтипы Text, FreeText, Highlight, Stamp, Ink, FileAttachment и связанные Popup. После удаления пролистайте страницы и выполните структурный подсчёт аннотаций.

Скрытые слои, обрезанные объекты и невидимый текст

Слой в PDF может быть выключен в интерфейсе, но оставаться в файле. Optional Content Groups применяются в чертежах, картах, макетах и экспортированных документах. Перед удалением включите все слои и посмотрите, нет ли в них внутренней разметки. Затем решите: удалить слой вместе с объектами, свести видимое состояние в плоскую страницу или сохранить его. Простое удаление каталога OCProperties без изменения контентных потоков может лишь убрать управление видимостью, но не удалить сами операторы.

Невидимый текст возникает после OCR, при белом цвете, нулевой прозрачности, маске, выходе за CropBox или размещении под изображением. Поиск и копирование могут обнаружить то, чего не видно глазами. Для чувствительных фраз применяйте редактирование, которое удаляет соответствующие текстовые и графические операторы. После применения ищите фразу в извлечённом тексте и байтах нового файла.

Формы, JavaScript, действия и персональные значения

PDF-форма может хранить введённые значения, значения по умолчанию, историю подписи, скрытые поля и вычислительные сценарии. Очистка документа требует решения: оставить форму пустой, сплющить заполненную форму в статическое содержимое или удалить форму полностью. Каждый вариант меняет функциональность.

  • Пустая форма: удалите значения и значения по умолчанию, проверьте скрытые поля, оставьте структуру для повторного заполнения.
  • Статическая копия: сплющите разрешённые значения, затем убедитесь, что исходные поля и сценарии действительно удалены.
  • Полное удаление: удалите AcroForm/XFA, действия открытия, JavaScript и дополнительные действия страниц и полей.
  • Подписанная форма: не меняйте оригинал; выпустите согласованную копию и подпишите её заново, если процесс это допускает.

Инкрементные сохранения и прежние версии объектов

PDF допускает дописывание изменений в конец файла. Новый каталог и словарь Info могут ссылаться на очищенные значения, а прежние объекты остаются в ранних секциях. Обычный просмотрщик использует последнюю таблицу перекрёстных ссылок и не показывает старое содержимое, но форензический анализ способен найти его. Поэтому для строгой очистки нужен полный rewrite в новый файл, а не очередное «Сохранить» поверх исходника.

Признаки инкрементной истории — несколько маркеров %%EOF, цепочка /Prev в трейлерах, неожиданный рост размера после небольшого изменения и восстановимые старые теги. Не пытайтесь вручную обрезать файл: можно повредить xref и подписи. Используйте библиотеку, которая читает актуальную структуру и записывает новую, затем ищите старые значения в байтах.

Цифровые подписи: что именно ломается

Криптографическая подпись покрывает определённый диапазон байтов. Любое сохранение с изменениями создаёт новый набор байтов за пределами подписанного состояния. Просмотрщик может показать «подпись недействительна», «документ изменён после подписания» или частично допустимые изменения, если подпись разрешает конкретные операции. Для целей очистки нельзя предполагать, что удаление метаданных относится к разрешённым изменениям.

  1. Проверьте подпись до обработки и сохраните отчёт.
  2. Сохраните подписанный оригинал без изменений.
  3. Создайте отдельную очищенную копию и явно обозначьте её производный статус.
  4. Если документ должен остаться официально подписанным, проведите очистку до подписи либо организуйте повторное подписание после проверки.
  5. Не копируйте визуальное изображение подписи как замену криптографической подписи.

Защищённые, повреждённые и нестандартные PDF

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

Повреждённый PDF может открываться благодаря автоматическому восстановлению xref, но переписывание способно потерять объекты, которые просмотрщик показывал эвристически. Сначала создайте восстановленную копию, сравните страницы, вложения и текст, затем очищайте. Для гибридных PDF, PDF Portfolio, XFA, 3D, геопространственных или инженерных файлов используйте профильный инструмент и тестируйте все функции.

Сканированный PDF и OCR: метаданные не зависят от наличия текста

Скан может состоять только из изображений, но всё равно иметь автора, XMP, имя сканера, даты, вложения и комментарии. После OCR добавляется скрытый текстовый слой, который способен содержать ошибки или распознанные персональные данные вне видимой области. Поэтому скан проверяют как минимум в трёх плоскостях: свойства/XMP, структурные объекты и извлечённый текст.

Удаление OCR-слоя целиком делает документ менее доступным и непригодным для поиска. Обычно лучше редактировать конкретные чувствительные фрагменты и повторно распознавать только безопасную копию. Сравните визуальные страницы с извлечённым текстом и убедитесь, что редактированные слова не восстанавливаются копированием.

Проверка результата: четыре независимых уровня

Надёжная проверка не повторяет тот же интерфейс, которым выполнялась очистка. Если поля удалялись в PDF-редакторе, проверяйте хотя бы одной командной утилитой и одним другим просмотрщиком. Разные инструменты читают разные категории и по-разному восстанавливают повреждённые структуры.

Уровень 1. Визуальная и функциональная сверка

  • Откройте исходник и результат рядом. Сверьте число страниц, размеры, ориентацию, поля обрезки и качество изображений.
  • Проверьте поиск, выделение текста, ссылки, закладки, форму и доступность — только те функции, которые должны сохраниться.
  • Откройте панели комментариев, вложений, слоёв и подписей.
  • Убедитесь, что редактированные фрагменты нельзя выделить, скопировать или найти.

Уровень 2. Свойства и XMP

Проверьте Title, Author, Subject, Keywords, Creator, Producer, даты и Custom Metadata. Отдельно запросите наличие Metadata Stream. Пустой Author при строке «Metadata Stream: yes» требует просмотра XMP. Учтите, что новый инструмент может законно записать собственный Producer; решите, допустимо ли раскрывать его.

Уровень 3. Структурные категории

Проверьте каталог и страницы на /Metadata, /Names//EmbeddedFiles, /OCProperties, /AcroForm, /OpenAction, /AA и /Annots. Наличие ключа не всегда означает утечку, а отсутствие — не гарантирует отсутствие частного объекта, но такая матрица быстро показывает различие между базовой и глубокой очисткой.

Уровень 4. Поиск содержимого и история

Извлеките текст и найдите контрольные фразы. Выполните поиск по печатным строкам в байтах. Посчитайте маркеры конца файла и при необходимости проанализируйте xref. Для высокорискового обмена добавьте ручной анализ специалистом, потому что автоматический список не охватывает все частные расширения PDF.

Матрица независимой проверки четырёх файлов
Сводная таблица сравнивает Info, XMP, вложения, аннотации и слои у исходника и трёх результатов.
Контрольные суммы исходника и результатов
Разные SHA-256 подтверждают, что сохранены отдельные файлы, а не переименован один и тот же экземпляр.
Сравнение размеров файлов после обработки
Размер помогает заметить необычные изменения, но не доказывает отсутствие скрытых данных.
Проверка шрифтов до и после очистки
Инвентаризация шрифтов помогает убедиться, что переписывание не повредило отображение текста.
Проверка растровых объектов страниц
Список изображений контролирует, не исчезли ли графические объекты при переписывании PDF.
Разделение и повторная сборка страниц
Контрольная операция проверяет число страниц и читаемость после перестройки документа.
Финальная автоматическая проверка
Итоговый отчёт повторно сравнивает скрытые категории и состояние подписей и вложений.

Критерий приёмки

Проверка Приемлемый результат Повод остановить отправку
Свойства Нет запрещённых значений; новый Producer оценён Сохранились имя, почта, внутренний проект или путь
XMP Поток отсутствует либо содержит только разрешённые поля Старые значения найдены в любой схеме
Вложения Нет вложений или все разрешены и очищены отдельно Неизвестный файл, портфолио или прикреплённая аннотация
Комментарии Нет личных комментариев и ответов Сохранился автор, текст, статус или дата рецензирования
Слои/текст Все слои просмотрены; скрытые фразы не извлекаются Текст находится поиском после визуального скрытия
Подписи Оригинал сохранён; статус копии документирован Изменён единственный подписанный оригинал
Качество Страницы и обязательные функции совпадают Потеря страниц, формы, доступности или читаемости

Типичные ошибки и как их исправить

Очистили только автора

Author — одно поле. Проверьте Title, Subject, Keywords, Creator, Producer, даты, пользовательские ключи и XMP.

Заменили значение пробелом

Пробел может считаться непустым значением и скрывает проблему в интерфейсе. Удаляйте содержимое поля полностью.

Перезаписали оригинал

Без исходника невозможно сверить страницы, подпись и вложения. Всегда сохраняйте новый файл.

Закрасили текст прямоугольником

Текст под фигурой часто остаётся выделяемым. Используйте редактирование и проверяйте извлечением текста.

Положились на печать

Драйвер может сохранить скрытые объекты или добавить новые метаданные. Проверяйте результат как новый неизвестный PDF.

Удалили все аннотации вслепую

Вместе с комментариями можно потерять ссылки и другие нужные элементы. Фильтруйте подтипы.

Удалили дерево Names целиком

Могут исчезнуть именованные назначения и сломаться навигация. Удаляйте ветку EmbeddedFiles точечно.

Загрузили секретный файл в веб-сервис

Даже технически корректная очистка не отменяет факта передачи. Для чувствительных данных используйте локальный процесс.

Не проверили подпись

После сохранения подпись меняет статус. Подписанный оригинал должен оставаться неизменным.

Проверили тем же инструментом

Одна программа может одинаково игнорировать поле до и после обработки. Используйте независимый просмотрщик или библиотеку.

Не искали XMP

Пустая вкладка Description не исключает XML-пакет в каталоге.

Не проверили вложения

Невидимый исходник способен содержать больше данных, чем сам PDF.

Практические сценарии выбора способа

Резюме перед публикацией

Нужно скрыть автора офисного файла и внутреннее имя шаблона, сохранив ссылки и доступность. Очистите свойства и XMP, проверьте Creator/Producer, не печатайте документ без необходимости. Извлеките текст и убедитесь, что в колонтитулах, alt-тексте и комментариях нет адреса или имени рекрутера.

Контроль для сценария «Резюме перед публикацией»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Договор для внешнего подрядчика

Сохраните подписанный оригинал. В производной копии удалите внутренние комментарии, вложенные расчёты и значения формы, примените редактирование к скрываемым условиям, выполните санацию и подпишите новую версию по согласованному процессу.

Контроль для сценария «Договор для внешнего подрядчика»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Научная рукопись для слепого рецензирования

Удалите автора и организацию из Document Info и XMP, проверьте комментарии, имена слоёв, вложенные исходники и текст страницы. Не уничтожайте теги доступности и структуру заголовков, если журнал принимает доступные PDF.

Контроль для сценария «Научная рукопись для слепого рецензирования»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Чертёж с выключенными слоями

Включите все OCG-слои и просмотрите служебные пометки. Согласуйте, какие слои разрешены. Экспортируйте только разрешённое состояние или физически удалите объекты запрещённых слоёв; удаление одной панели управления слоями недостаточно.

Контроль для сценария «Чертёж с выключенными слоями»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Скан паспорта или справки

Метаданные сканера вторичны по сравнению с содержимым страницы. Редактируйте чувствительные области настоящим инструментом, проверьте OCR-слой, затем очистите свойства/XMP и убедитесь, что редактированный текст не извлекается.

Контроль для сценария «Скан паспорта или справки»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

PDF с приложенной таблицей

Откройте панель вложений, извлеките таблицу и очистите её отдельно либо удалите. После сохранения проверьте EmbeddedFiles структурно. Имя вложения также может раскрывать проект или сотрудника.

Контроль для сценария «PDF с приложенной таблицей»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Презентация, напечатанная в PDF

Проверьте Speaker Notes, скрытые слайды и комментарии до экспорта из исходного формата. В готовом PDF проверьте XMP и скрытый текст. Печать может удалить навигацию и добавить новый Producer, но не гарантирует удаление всего.

Контроль для сценария «Презентация, напечатанная в PDF»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Форма с персональными значениями

Решите, нужна ли получателю пустая интерактивная форма или статическая заполненная копия. Удалите значения по умолчанию, скрытые поля и JavaScript; после сплющивания убедитесь, что AcroForm и старые значения не остались.

Контроль для сценария «Форма с персональными значениями»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Архивный PDF/A

Не переписывайте мастер без разрешения. Создайте производную копию, очистите её, затем повторно проверьте соответствие PDF/A. Некоторые методы удаляют XMP, обязательный для профиля, поэтому может потребоваться разрешённый минимальный набор метаданных вместо полного удаления.

Контроль для сценария «Архивный PDF/A»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Пакет из сотен счетов

Сначала построьте аудит и выборку для ручной проверки. Обрабатывайте в отдельном каталоге, логируйте хеши и категории, открывайте каждый результат программно, а часть файлов проверяйте визуально. Исключения — формы, подписи, портфолио — направляйте в отдельную очередь.

Контроль для сценария «Пакет из сотен счетов»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Документ из облачного редактора

Скачанный PDF может содержать название аккаунта, приложение, даты и идентификаторы в XMP. Очистите локально, не изменяя оригинал в облаке, затем проверьте, не подставляет ли сервис метаданные снова при повторной загрузке.

Контроль для сценария «Документ из облачного редактора»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Материал для суда или расследования

Не очищайте единственный экземпляр доказательства. Оригинал храните с хешем и цепочкой владения. Очищенная копия служит только для раскрытия или публикации и должна быть явно связана с оригиналом протоколом обработки.

Контроль для сценария «Материал для суда или расследования»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Учебные материалы с комментариями преподавателя

Перед публикацией удалите ответы и имена рецензентов, но сохраните нужные гиперссылки. Фильтруйте аннотации по типу, а затем проверяйте панель комментариев и структуру /Annots.

Контроль для сценария «Учебные материалы с комментариями преподавателя»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Конфиденциальный файл на общем компьютере

Помимо PDF очистите временные копии, историю загрузок, папку недавних файлов и имя результирующего файла согласно политике организации. Не вводите реальные данные в онлайн-сервисы и не оставляйте оригинал в общей папке.

Контроль для сценария «Конфиденциальный файл на общем компьютере»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

PDF после электронной подписи

Санация после подписи меняет документ. Сохраните оригинал, создайте очищенную копию и получите новую подпись, если она нужна. Изображение подписи не подтверждает целостность и не должно переноситься как декоративный объект.

Контроль для сценария «PDF после электронной подписи»: зафиксируйте исходное состояние, перечислите разрешённые потери функциональности, сохраните под новым именем и используйте минимум два независимых способа проверки. Если хотя бы один обязательный критерий не выполнен, не отправляйте файл и вернитесь к анализу конкретного объекта.

Частые вопросы

Можно ли удалить метаданные через свойства файла Windows?

Проводник способен показывать и иногда изменять часть свойств, но для PDF результат зависит от обработчика формата. Он не является средством удаления XMP, вложений, комментариев и слоёв. Используйте его только как дополнительную проверку.

Почему после очистки снова появился Producer?

Новый PDF записала программа или виртуальный принтер и указала себя как производителя. Это не обязательно утечка личности, но поле нужно оценить по вашей модели угроз.

Нужно ли удалять даты создания и изменения?

Если даты могут раскрыть график проекта или личную активность, да. Однако некоторые профили и процессы требуют дат. Удаляйте или нормализуйте их по правилу организации, а не механически.

Удаляет ли ExifTool всё из PDF?

Он удаляет поддерживаемые теги, но особенности инкрементной записи требуют перезаписи файла. Вложения, комментарии, слои и содержимое страниц проверяются отдельно.

Достаточно ли команды qpdf —linearize?

Нет. Она переписывает структуру, но не знает, какие актуальные объекты конфиденциальны. Если XMP или вложение остаются в текущем каталоге, qpdf может корректно перенести их в новый файл.

Можно ли просто распечатать и отсканировать документ?

Это создаёт визуальную копию и обычно убирает интерактивность, но ухудшает качество, доступность и поиск, а сканер добавляет новые метаданные. Для большинства задач лучше контролируемая цифровая очистка.

Что делать с комментариями, которые нужно сохранить внутри компании?

Экспортируйте отчёт рецензирования или сохраните внутренний оригинал. В публичной копии удалите комментарии и ответы, затем проверьте /Annots.

Как проверить вложения без Acrobat?

Командные утилиты и библиотеки умеют перечислять EmbeddedFiles. В Linux часто используется pdfdetach; в Python можно исследовать дерево /Names. После удаления список должен быть пуст.

Может ли скрытый текст остаться после редактирования?

Да, если применено визуальное закрытие, а не удаление операторов. Ищите фразу, копируйте текст и извлекайте его внешней утилитой после сохранения.

Что делать с XMP в PDF/A?

XMP может быть обязательной частью профиля PDF/A. Вместо полного удаления сформируйте минимально допустимый пакет без персональных данных и повторно проверьте соответствие.

Сохранятся ли закладки после глубокой очистки?

Зависит от метода. Точечное удаление метаданных обычно сохраняет их; удаление всего дерева Names или печать могут нарушить назначения. Проверьте каждую закладку.

Как очистить несколько PDF сразу?

Используйте пакетный инструмент или скрипт, но сначала прогоните разнообразную тестовую выборку. Логируйте хеши, ошибки открытия, число страниц и результаты проверок.

Можно ли удалить только имя автора комментариев, оставив текст?

Некоторые редакторы позволяют изменить автора, но ответы, даты и уникальные имена могут остаться. Для анонимизации рецензирования надёжнее удалить или заново создать разрешённые комментарии.

Зачем проверять строки в байтах, если свойства пусты?

Это помогает обнаружить старые инкрементные объекты и нестандартные поля. Метод неполный, потому что сжатые и кодированные данные могут не появиться как читаемые строки.

Что означает Metadata Stream: yes в pdfinfo?

В каталоге присутствует поток метаданных, обычно XMP. Его содержимое нужно просмотреть; пустые стандартные поля не отменяют этот поток.

Можно ли сохранить действующую подпись после удаления метаданных?

Обычно нет: изменение байтов влияет на подпись. Рабочий процесс должен предусматривать очистку до подписания или повторное подписание производной копии.

Удаляет ли санация личные данные с видимых страниц?

Она может находить часть скрытого содержимого, но не заменяет редактирование видимого текста и изображений. Сначала удалите чувствительное содержимое, затем санитизируйте.

Почему размер файла почти не изменился?

Метаданные часто занимают мало места. Малый размер не доказывает удаление, а большой спад может означать перекодирование изображений или потерю объектов.

Стоит ли удалять Creator и Producer?

Если они раскрывают имя пользователя, организацию или внутренний инструмент — да. Если поле содержит только публичное название программы, решение зависит от модели угроз и требований публикации.

Как назвать очищенную копию?

Используйте нейтральное имя без ФИО, проекта и статуса дела, например документ с номером версии и пометкой public. Не включайте скрываемые сведения в имя файла или путь.

Финальный чек-лист перед отправкой

  • Оригинал сохранён отдельно и его контрольная сумма зафиксирована.
  • Проверен статус цифровых подписей; очищается только согласованная копия.
  • Очищены стандартные поля и отдельно проверен XMP.
  • Удалены или разрешены все вложения и файлы портфолио.
  • Удалены личные комментарии, ответы, штампы и прикреплённые к ним файлы.
  • Просмотрены слои, формы, JavaScript, действия и скрытые поля.
  • Чувствительный текст удалён инструментом редактирования, а не закрыт фигурой.
  • Файл полностью переписан, если существовал риск инкрементной истории.
  • Результат проверен другим просмотрщиком и командной утилитой.
  • Сверены страницы, размеры, шрифты, изображения, ссылки, закладки и обязательные функции.
  • Имя файла и папки не раскрывают персональные или внутренние сведения.
  • В журнале указаны использованный способ, дата, хеш результата и обнаруженные исключения.

Отправляйте только экземпляр, который прошёл заранее определённый критерий приёмки. Если остаётся непонятный XMP-блок, неизвестное вложение, активный слой, комментарий или строка из старой версии, остановите публикацию. Точная формулировка результата важнее кнопки: перечисляйте, что именно удалено и чем это проверено.

Техническая карта объектов PDF для контрольной проверки

Document Info

Словарь документа хранится в трейлере и часто отображается на вкладке описания. Проверяйте стандартные и пользовательские ключи, потому что нестандартное поле отдела или номера дела может не показываться в обычном интерфейсе. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «Document Info» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

XMP

XML-пакет допускает несколько схем и языковых вариантов. Ищите не только dc:creator, но и CreatorTool, MetadataDate, identifiers, rights, history и частные пространства имён. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «XMP» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

EmbeddedFiles

Дерево вложений содержит имена и файловые спецификации. Файл может иметь собственные параметры, контрольную сумму и описание; сам вложенный документ требует отдельной очистки. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «EmbeddedFiles» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

Annotations

Аннотации находятся на страницах или связаны с другими объектами. Сведения об авторе и времени могут храниться отдельно от отображаемого текста. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «Annotations» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

Optional Content

Слои управляют видимостью, но операторы содержимого остаются в потоках. Удаление интерфейсного переключателя не обязательно удаляет графику и текст. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «Optional Content» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

Forms

Значения полей могут находиться в /V, /DV, XFA и appearance-потоках. Очистка только видимого поля не гарантирует удаления значения по умолчанию. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «Forms» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

Actions

Сценарии и действия могут запускаться при открытии документа, страницы или взаимодействии с полем. Для публичной копии ненужная автоматизация должна быть удалена. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «Actions» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

Incremental history

Предыдущие ревизии сохраняются в старых объектах. Полная запись нового файла и поиск контрольных строк снижают риск восстановления. Зафиксируйте наличие категории до обработки, выбранное действие и состояние после повторного открытия результата. Такой журнал позволяет отличить осознанно сохранённый объект от пропуска.

Для категории «Incremental history» используйте два представления: логическое — через API библиотеки или панель редактора — и физическое — через переписанный файл, извлечение текста и поиск контрольных значений. Несовпадение результатов требует ручного анализа, а не автоматического разрешения в пользу более удобного отчёта.

Какие поля искать в Document Info и XMP

Заголовок, тема и ключевые слова

Title, Subject и Keywords часто воспринимают как безобидное описание, однако в них попадают код проекта, фамилия клиента, название тендера, внутренняя классификация и прежнее имя документа. В XMP заголовок может храниться как языковой массив, а ключевые слова — одновременно в нескольких схемах. Очистка одного видимого поля не считается завершённой, пока независимый просмотр не подтвердил отсутствие его дубликатов.

Практический приём для категории «Заголовок, тема и ключевые слова»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Автор, создатель и производитель

Author описывает лицо или группу, Creator обычно указывает приложение, создавшее исходное содержимое, а Producer — компонент, сформировавший PDF. Эти значения отвечают на разные вопросы и могут существовать одновременно в Document Info и XMP. Новый Producer после санации не обязательно является утечкой, но организация должна заранее решить, допустимо ли раскрывать название применённого программного обеспечения.

Практический приём для категории «Автор, создатель и производитель»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Даты создания, изменения и метаданных

CreationDate, ModDate, xmp:CreateDate, xmp:ModifyDate и xmp:MetadataDate способны расходиться. Такое расхождение полезно для диагностики: оно показывает, что свойства менялись отдельно от содержимого. При анонимизации даты либо удаляют по политике, либо нормализуют осознанно; произвольная подмена дат без документированной причины ухудшает прослеживаемость и может иметь юридические последствия.

Практический приём для категории «Даты создания, изменения и метаданных»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Идентификаторы документа и экземпляра

Схема xmpMM может содержать DocumentID, InstanceID, OriginalDocumentID и производственные связи. Они не выглядят как имя человека, но позволяют сопоставлять версии, искать исходник в системе подготовки или связывать публичный файл с внутренним документооборотом. Для строгой публикационной копии такие идентификаторы рассматривают отдельно, а не оставляют автоматически только потому, что окно свойств их не показывает.

Практический приём для категории «Идентификаторы документа и экземпляра»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Права, владельцы и история

Поля dc:rights, xmpRights, владельцы лицензий и история операций могут раскрывать организацию, исполнителя или последовательность обработки. Некоторые редакторы добавляют собственный журнал действий в XMP. Решение об удалении зависит от назначения: для публичной копии история обычно лишняя, а для архивного мастера она может быть обязательной. Нельзя одной политикой обрабатывать оба класса документов.

Практический приём для категории «Права, владельцы и история»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Пользовательские пространства имён

Отраслевые системы добавляют частные XML-схемы с номером дела, подразделением, идентификатором заказа, маршрутом согласования и именем рабочей станции. Универсальный редактор может не отобразить эти поля. Полный аудит должен перечислить пространства имён и неизвестные свойства, а затем либо разрешить их явно, либо направить файл на ручной разбор.

Практический приём для категории «Пользовательские пространства имён»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Метаданные изображений и вложений

Даже после очистки контейнера встроенное изображение может сохранять EXIF, IPTC или XMP, а приложенная таблица — автора, историю изменений и скрытые листы. PDF-инструмент не обязан переписывать внутренности каждого вложенного объекта. Если такие файлы остаются в итоговом документе, их извлекают, очищают профильными средствами, проверяют и только после этого прикрепляют повторно.

Практический приём для категории «Метаданные изображений и вложений»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Имена объектов и служебные подписи

Названия слоёв, полей формы, закладок, именованных назначений, файловых спецификаций и ресурсов иногда содержат реальные имена или проектные коды. Это не всегда относят к метаданным, но для получателя различие несущественно: строка всё равно раскрывает контекст. Поэтому строгая проверка охватывает не только словари описания, но и понятные человеку имена структурных объектов.

Практический приём для категории «Имена объектов и служебные подписи»: задайте контрольное значение, которое точно присутствует в исходнике, найдите все его представления до обработки, затем повторите поиск в новом файле. Отрицательный результат одного инструмента подтверждайте другим способом, потому что сжатие, кодировка строк и объектные потоки меняют вид данных без изменения их смысла.

Пакетная очистка PDF: проектирование воспроизводимого конвейера

Инвентаризация входа

Сначала конвейер фиксирует имя, размер, SHA-256, число страниц, шифрование, подписи, PDF-версию и наличие XMP, вложений, форм, аннотаций и слоёв. На этой стадии ничего не изменяют. Отчёт нужен для маршрутизации: обычный файл можно обработать автоматически, а подписанный, повреждённый, зашифрованный или портфельный PDF отправляют в исключения.

Критерий завершения этапа «Инвентаризация входа» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Классификация риска

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

Критерий завершения этапа «Классификация риска» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Нормализация рабочей копии

Оригинал переводят в режим только чтения или хранилище неизменяемых объектов, а все операции проводят над копией с новым идентификатором задания. Каталоги входа, временных файлов, результата и карантина разделяют. Это предотвращает случайную перезапись и позволяет повторить обработку тем же набором параметров.

Критерий завершения этапа «Нормализация рабочей копии» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Декларативная политика удаления

Вместо команды «стереть всё» задают список категорий: очистить Document Info, удалить или нормализовать XMP, удалить EmbeddedFiles, удалить только текстовые комментарии, сохранить ссылки, очистить значения формы, запретить JavaScript, сохранить теги доступности. Явная политика делает потери предсказуемыми и пригодными для проверки.

Критерий завершения этапа «Декларативная политика удаления» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Преобразование с контролем версий

Версию каждой утилиты, библиотеки и профиль параметров записывают в журнал. Обновление pypdf, qpdf, Ghostscript или настольного редактора рассматривают как изменение производственного процесса: после него повторяют тесты на эталонном наборе. Иначе новая версия может незаметно изменить обработку форм, шрифтов или объектных потоков.

Критерий завершения этапа «Преобразование с контролем версий» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Независимая верификация

Проверяющий модуль не должен быть простой копией преобразующего. Если очистка выполнена библиотекой Python, результат анализируют Poppler, ExifTool, qpdf и структурным сканером с другим кодом. Верификация сравнивает не только отсутствие запрещённых объектов, но и сохранность страниц, шрифтов, изображений, ссылок и обязательного текста.

Критерий завершения этапа «Независимая верификация» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Карантин и разбор исключений

Файл, не прошедший хотя бы один обязательный тест, не попадает в каталог выдачи. Он перемещается в карантин с кодом причины: подпись, неизвестное вложение, остаточная строка, повреждение xref, потеря страницы, несоответствие PDF/A или ошибка открытия. Оператор получает конкретный отчёт, а не общий статус «сбой».

Критерий завершения этапа «Карантин и разбор исключений» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Выборочный ручной контроль

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

Критерий завершения этапа «Выборочный ручной контроль» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Публикация и хранение

В выдачу передают только проверенный файл и минимально необходимый протокол. Оригинал, рабочие копии и журналы хранятся по отдельным срокам и правам доступа. Если политика требует уничтожить временные файлы, удаление подтверждают после успешной публикации, а не до проверки, чтобы не потерять возможность расследовать ошибку.

Критерий завершения этапа «Публикация и хранение» формулируйте машинно проверяемо: конкретное поле равно пустому значению, ветка отсутствует, количество страниц совпадает, подпись имеет ожидаемый статус, контрольная фраза не найдена. Формулировки «выглядит нормально» и «программа сообщила об успехе» не подходят для пакетного процесса.

Как сохранить нужные функции и не вернуть скрытые данные

Закладки и именованные назначения

Закладки полезны для длинного документа, но их заголовки и цели могут содержать внутренние названия. При точечном удалении EmbeddedFiles не уничтожайте всё дерево Names. После сохранения пройдите по закладкам и внутренним ссылкам, убедитесь, что они ведут на существующие страницы и не раскрывают запрещённые подписи.

Перед обработкой функции «Закладки и именованные назначения» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Гиперссылки

Ссылки обычно представлены аннотациями, поэтому массовое удаление /Annots уничтожает их вместе с комментариями. Фильтруйте аннотации по подтипу и действиям: разрешённые URI или переходы можно сохранить, а файловые ссылки, запуск приложений и переходы к вложениям — удалить. Затем протестируйте каждую категорию в изолированной среде.

Перед обработкой функции «Гиперссылки» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Теги доступности

Структурное дерево, языковые атрибуты и альтернативный текст позволяют пользоваться PDF с экранным диктором. Растеризация или грубая пересборка часто удаляет эти данные. Если доступность обязательна, не выбирайте метод только по степени агрессивности; после санации повторите проверку порядка чтения, заголовков, языка и описаний изображений.

Перед обработкой функции «Теги доступности» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Интерактивные формы

Для пустого шаблона сохраняют геометрию и имена разрешённых полей, но удаляют значения, значения по умолчанию, персональные appearance-потоки и сценарии. Для статической копии форму можно сплющить, однако потом следует проверить, что AcroForm, XFA и прежние значения не остались в структуре или истории.

Перед обработкой функции «Интерактивные формы» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Цифровые подписи

Подпись защищает определённый набор байтов; очистка после подписания меняет этот набор. Правильный процесс хранит исходный подписанный экземпляр, создаёт производную очищенную версию, документирует связь и при необходимости подписывает результат заново. Перенос картинки подписи на новую копию не заменяет криптографическую подпись.

Перед обработкой функции «Цифровые подписи» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Слои и варианты отображения

Слой может быть выключен, но его текст и графика продолжают находиться в документе. Если слой нужен, проверьте название и все его объекты. Если он запрещён, удалите сами операторы содержимого и ресурсы, а не только запись в панели Optional Content. После преобразования включите все оставшиеся слои и сравните страницы.

Перед обработкой функции «Слои и варианты отображения» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

OCR и поиск

Скрытый OCR-слой повышает доступность и поиск, но способен содержать распознанные персональные сведения за пределами видимого изображения. После редактирования скана извлеките текст и найдите запрещённые значения. При необходимости пересоздайте OCR для очищенной страницы вместо полного отказа от текстового слоя.

Перед обработкой функции «OCR и поиск» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Цвет, прозрачность и печать

Растеризация и печать в PDF способны изменить цветовые профили, прозрачность, тонкие линии и масштаб. Для чертежей, препресса и медицинских изображений такие изменения неприемлемы без сравнения. Проверяйте размеры страниц, боксы, разрешение, количество цветовых пространств и тестовый отпечаток, если это входит в требования.

Перед обработкой функции «Цвет, прозрачность и печать» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

PDF/A и архивные свойства

Архивные профили требуют определённых метаданных, встроенных шрифтов и правил структуры. Полное удаление XMP может сделать файл несоответствующим стандарту. Для производной архивной копии оставляют разрешённый минимальный пакет и после санации снова запускают валидатор соответствующего профиля.

Перед обработкой функции «PDF/A и архивные свойства» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Портфолио и вложенные документы

PDF Portfolio объединяет несколько файлов и навигационную оболочку. Очистка только внешнего контейнера не меняет метаданные внутренних документов. Надёжный путь — извлечь разрешённые элементы, обработать каждый по его формату, проверить отдельно и собрать обычный PDF либо новый портфель с очищенным манифестом.

Перед обработкой функции «Портфолио и вложенные документы» пометьте её как обязательную, необязательную или запрещённую. После обработки обязательная функция должна пройти позитивный тест, запрещённая — негативный, а необязательная может быть удалена только при заранее согласованной потере. Такая матрица предотвращает ситуацию, когда безопасность достигается ценой непригодного документа.

Журнал очистки и доказуемость результата

Идентификация файлов

Для исходника и результата сохраняют криптографические хеши, размеры, число страниц и внутренний номер задания. Имя файла недостаточно: его легко изменить или повторно использовать. Хеш позволяет однозначно связать протокол с конкретными байтами и доказать, что проверялся именно переданный экземпляр.

Для контроля качества раздела «Идентификация файлов» запись должна быть связана с автоматическим артефактом: JSON-отчётом, текстовым выводом утилиты, хешем или подписанным протоколом. Снимок экрана полезен как иллюстрация, но не заменяет структурированные данные, которые можно сравнить при повторном запуске.

Параметры и версии

Протокол содержит названия инструментов, точные версии, команды или профиль настроек, операционную систему и время выполнения. Для GUI фиксируют выбранные категории очистки. Эти сведения нужны не для формальности, а для воспроизводимости при споре, повторной обработке или обнаружении дефекта.

Для контроля качества раздела «Параметры и версии» запись должна быть связана с автоматическим артефактом: JSON-отчётом, текстовым выводом утилиты, хешем или подписанным протоколом. Снимок экрана полезен как иллюстрация, но не заменяет структурированные данные, которые можно сравнить при повторном запуске.

Результаты по категориям

Отчёт перечисляет Document Info, XMP, вложения, аннотации, формы, действия, слои, подписи, скрытый текст и историю. Для каждой категории указывают состояние до, выполненное действие, состояние после и метод проверки. Значение «не проверено» честнее, чем автоматическое «отсутствует» без соответствующего теста.

Для контроля качества раздела «Результаты по категориям» запись должна быть связана с автоматическим артефактом: JSON-отчётом, текстовым выводом утилиты, хешем или подписанным протоколом. Снимок экрана полезен как иллюстрация, но не заменяет структурированные данные, которые можно сравнить при повторном запуске.

Разрешённые исключения

Иногда Producer, минимальный XMP для PDF/A, пустая форма или служебная закладка должны остаться. Исключение формулируют конкретно и утверждают ответственным лицом.

Для контроля качества раздела «Разрешённые исключения» запись должна быть связана с автоматическим артефактом: JSON-отчётом, текстовым выводом утилиты, хешем или подписанным протоколом. Снимок экрана полезен как иллюстрация, но не заменяет структурированные данные, которые можно сравнить при повторном запуске.

Ошибки и повторные попытки

Каждая неудачная попытка сохраняет код ошибки и не заменяет успешный результат. Если файл сначала прошёл базовую очистку, затем был отправлен на глубокую, протокол показывает обе стадии. Это помогает найти шаг, который повредил страницу или повторно добавил свойства.

Для контроля качества раздела «Ошибки и повторные попытки» запись должна быть связана с автоматическим артефактом: JSON-отчётом, текстовым выводом утилиты, хешем или подписанным протоколом. Снимок экрана полезен как иллюстрация, но не заменяет структурированные данные, которые можно сравнить при повторном запуске.

Формулировка заключения

Заключение не должно обещать абсолютную анонимность. Корректная запись перечисляет проверенные категории, инструменты и известные ограничения: например, стандартные поля, XMP, вложения и аннотации отсутствуют; страницы и ссылки сохранены; невидимый текст проверен извлечением; цифровой подписи в производной копии нет. Такой вывод можно проверить и оспорить предметно.

Для контроля качества раздела «Формулировка заключения» запись должна быть связана с автоматическим артефактом: JSON-отчётом, текстовым выводом утилиты, хешем или подписанным протоколом. Снимок экрана полезен как иллюстрация, но не заменяет структурированные данные, которые можно сравнить при повторном запуске.