Вопрос: Пакетное удаление комментариев из файлов PDF


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


13
2017-12-13 23:15


Источник


действительно ли предположение, что вы хотите только предложения бесплатно (как в пиве) или бесплатно (как в свободе) решения? - Kurt Pfeifle
@pipitas Меня интересует любое решение. - Andrew MacFie


Ответы:


Предоставление вам системы Unix:

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

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


5
2018-05-25 11:37



Вы можете объяснить RE? Что соответствует [^]] + - jftuga
@jftuga, s: (замена) /Annots \[ (текст "/Annots [«) [^]]+ (один или несколько экземпляров любого символа, кроме "]«) \] (буквальный символ "]«) :: (замените все, что соответствует первому, ничем) g (при необходимости заменяйте несколько раз на строку). - Divinenephron
Одна потенциально запутанная часть регулярного выражения заключается в том, что литерал ] как правило, следует избегать, но не сразу после ^ отрицание. - Divinenephron


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

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

2
2017-12-19 12:58



Это не работает. Письменные комментарии остаются (не как комментарии, а как часть pdf). - Andrew MacFie
Если комментарии фактически добавлены в содержимое PDF, их можно удалить только вручную. Фактические аннотации PDF являются отдельными. - CarlF
Есть ли способ без использования какого-либо конвертера? - user


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

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

В pdfToolbox много и много способов манипулировать и исправлять многие, многие отдельные проблемы PDF.

Один из «Fixups» - удалить все аннотации.

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


2
2017-12-22 18:25



У него действительно есть способ удалить все аннотации, но я не уверен, как выполнять пакетную работу. - Andrew MacFie
Dunno о предыдущих версиях --- но последняя версия pdfToolbox5 позволяет запускать ее в пакетном режиме по сравнению с полными папками, содержащими PDF-файлы ..... - Kurt Pfeifle


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

rewritepdf -C in.pdf out.pdf

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

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

2
2018-03-11 11:07



Он работал нормально. :) Некоторая помощь: пакет Ubuntu (то есть debian) находится здесь packages.debian.org/sid/perl/libcam-pdf-perl  Зависимости автоматически устанавливаются с помощью «Программного центра Ubuntu». (О, и следите за столицей «-C». Сначала я запускал «-c», и ничего не происходило, даже ошибка не выводилась). - loved.by.Jesus