Как я могу легко удалить все комментарии и аннотации (добавленные с помощью Foxit Reader) из всех PDF-файлов в папке?
4 ответа
Если вы в системе Unix:
cd <directory containing PDFs>
find . -type f -name '*.pdf' -exec perl -pi -e 's:/Annots \[[^]]+\]::g' {} +
Это хак, который удаляет все команды /Annots
из PDF (команды, которые рисуют аннотации). Он оставляет там объекты аннотаций (вы можете открыть PDF с помощью текстового редактора и искать их), они просто не прорисованы.
Я просто упал на эту проблему, и ни один из ответов, приведенных здесь, не работал для меня. Что же работа была инструментом rewritepdf
из Ubuntu пакета libcam-pdf-perl
rewritepdf -C in.pdf out.pdf
Обернуть это в небольшой сценарий для удаления аннотаций из всех файлов PDF в каталоге теперь легко:
for i in *.pdf; do rewritepdf -C '$i' '$i'.new; done
Хорошо, вы сказали, что вы также рассматриваете коммерческое решение ....
Я бы порекомендовал вам попробовать каллы pdfToolbox. Он доступен для Windows и Mac OS X. (У них также есть CLI для Linux, но вы можете использовать только предварительно настроенные "профили" с ним. Однако с помощью графического интерфейса Windows вы можете создавать свои собственные профили и повторно использовать их с Linux CLI.
У pdfToolbox есть много-много-много способов манипулировать и исправлять множество проблем PDF.
Одним из "исправлений" является удаление всех аннотаций.
Вам не нужно выкладывать деньги, чтобы сначала их проверить; Каллас выдает 14-дневные пробные лицензии бесплатно.
Я думаю, что вы можете сделать это проще всего, "повторно" PDF. Повторное использование означает: сначала преобразовать файл в PostScript, а затем преобразовать PostScript обратно в PDF. Обычно повторное осуждение осуждается, потому что обычно вы теряете качество и некоторый контент. В вашем случае вы хотите потерять контент. Пережаривание может быть выполнено с помощью Ghostscript (а пакетные файлы помощников поставляются вместе с ним - скачайте gs900w32.exe
если вы работаете в Windows), так что вот вам, с помощью двух простых команд:
pdf2ps.bat input.pdf output.ps
ps2pdf.bat output.ps input_refried.pdf