image
Вот, казалось бы, тривиальная задача — удалить metadata из документа. Уже тысячу раз специалисты по паранойе информационной безопасности давали подобного рода рекомендации: «обязательно удаляйте избыточную метаинформацию из документов перед публикацией». И объясняли зачем это может понадобиться (пример). В сети масса инструкций о том как это сделать для различных форматов изображений и документов, но в то же время про такой распространённый формат как PDF внятной информации довольно мало.

Я провел небольшой эксперимент и по результатам собрал небольшой toolchain и freeware утилит. Вот этим всем и хочу поделиться.

Итак, первое что было сделано — проведена попытка удалить данные средствами самого Adobe Acrobat по соответствующей инструкции. Результат есть, но его никак нельзя назвать удовлетворительным, т.к. во-первых это стрельба из пушки по воробьям, а во-вторых объём файла на выходе почему-то увеличился почти на порядок.

Затем, среди кучи crapware была найдена чудесная windows утилита BeCyPDFMetaEdit, но она уверенно справляется с PDF v 1.6 и ниже, а для более новых ревизий формата результат не гарантирован.

Ultimate решение как водится пришло из мира *nix и сообщества сторонников свободного ПО с отрытым исходным кодом. Это связка из утилит ExifTool, QPDF и Xpdf, каждая их которых доступна также и под Windows. Т.к. лицензии этих утилит не запрещают их свободно распространять без изменений, то я смело собрал их в едином архиве (WINx64) со скриптом и элементарной инструкцией по применению. Если кратко, то Вы распаковываете архив, кладете подлежащий очистке pdf файл в получившуюся папку и затем перетаскиваете его на DEMETA.bat. Скрипт отработает и ваш файл станет девственно чист.

Поделиться с друзьями
-->

Комментарии (9)


  1. ZAZmaster
    20.03.2017 11:47
    +4

    А почему мега? Можете на github выложить?


    1. zilia
      20.03.2017 22:38
      +1

      Дело привычки. Я не заявляю на сборку никаких прав и одобряю всяческое распространение. Если Вы разместите архив на GitHub, буду признателен.


  1. RealSaniok
    20.03.2017 22:42

    Как то раз стояла задача подредактировать метаданные. Pdf Metadata Editor ( https://github.com/zaro/pdf-metadata-editor ) с задачей справилась


  1. vvf1973
    20.03.2017 23:50
    +1

    Комплект для Windows 7 x32 — не рабочий. А так, спасибо: я воспользовался исходными ссылками и скопировал в тот же каталог с утилитами бинарники утилит.


    1. zilia
      20.03.2017 23:52

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


  1. llgruff
    20.03.2017 23:50

    Пользуюсь FileOptimizer скачать можно на sourceforge.
    Проверил на первом pdf:
    Оригинал 2 308 766 b
    FileOptimizer 1 928 541 b
    DEMETA.bat 1 928 399 b


    1. zilia
      20.03.2017 23:51

      В моём случае это всё отнюдь не ради уменьшения размера файла…


  1. fpinger
    21.03.2017 05:45

    — Почему растут pdf файлы при их изменении?
    — Потому что в них добавляются копии изменённых объектов и меняется таблица актуальных объектов в конце файла, но при этом старые, не актуальные объекты остаются в теле документа.
    — Но я удалил объекты.
    — Поверь мне, они остались.


    1. saege5b
      22.03.2017 08:31

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