15

Как я могу легко удалить все комментарии и аннотации (добавленные с помощью Foxit Reader) из всех PDF-файлов в папке?

4 ответа4

5

Если вы в системе Unix:

cd <directory containing PDFs>
find . -type f -name '*.pdf' -exec perl -pi -e 's:/Annots \[[^]]+\]::g' {} +

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

3

Я просто упал на эту проблему, и ни один из ответов, приведенных здесь, не работал для меня. Что же работа была инструментом rewritepdf из Ubuntu пакета libcam-pdf-perl

rewritepdf -C in.pdf out.pdf

Обернуть это в небольшой сценарий для удаления аннотаций из всех файлов PDF в каталоге теперь легко:

for i in *.pdf; do rewritepdf -C '$i' '$i'.new; done
2

Хорошо, вы сказали, что вы также рассматриваете коммерческое решение ....

Я бы порекомендовал вам попробовать каллы pdfToolbox. Он доступен для Windows и Mac OS X. (У них также есть CLI для Linux, но вы можете использовать только предварительно настроенные "профили" с ним. Однако с помощью графического интерфейса Windows вы можете создавать свои собственные профили и повторно использовать их с Linux CLI.

У pdfToolbox есть много-много-много способов манипулировать и исправлять множество проблем PDF.

Одним из "исправлений" является удаление всех аннотаций.

Вам не нужно выкладывать деньги, чтобы сначала их проверить; Каллас выдает 14-дневные пробные лицензии бесплатно.

2

Я думаю, что вы можете сделать это проще всего, "повторно" PDF. Повторное использование означает: сначала преобразовать файл в PostScript, а затем преобразовать PostScript обратно в PDF. Обычно повторное осуждение осуждается, потому что обычно вы теряете качество и некоторый контент. В вашем случае вы хотите потерять контент. Пережаривание может быть выполнено с помощью Ghostscript (а пакетные файлы помощников поставляются вместе с ним - скачайте gs900w32.exe если вы работаете в Windows), так что вот вам, с помощью двух простых команд:

pdf2ps.bat input.pdf output.ps
ps2pdf.bat output.ps input_refried.pdf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .