Как найти и заменить текст в существующем файле PDF на PDFTK (или другое приложение командной строки)
На каждой странице моего PDF-документа есть строка с этой строкой:
%REPLACE%
Который я бы хотел найти и заменить другой строкой.
Кто-нибудь знает, как это сделать с помощью какого-либо приложения командной строки, такого как PDFTK?
Этот народ дал мне важную подсказку, однако я хотел бы что-то более прямое.
Благодарю.
3 ответа
Вы можете попробовать изменить содержимое вашего PDF следующим образом
Распакуйте текстовые потоки PDF
pdftk file.pdf output uncompressed.pdf uncompress
Используйте sed, чтобы заменить ваш текст другим
sed -e "s/ORIGINALSTRING/NEWSTRING/g" <uncompressed.pdf >modified.pdf
Если эта попытка была успешной, повторно сожмите PDF с помощью pdftk
pdftk modified.pdf output recompressed.pdf compress
Примечание. Этот способ не всегда успешен, в основном из-за поднабора шрифтов.
Чтобы внести небольшое изменение всего на несколько страниц,
inkscape
может сделать хорошую работу. Он также может исправить некоторые проблемы с диаграммами и границами таблиц. Однако нужно обрабатывать каждую страницу отдельно и склеивать страницы вместе, используя
pdfunite
. (Неизмененные диапазоны страниц можно извлечь с помощью
pdfseparate
.)
Вдохновение:https://tatica.org/2015/07/13/edit-pdf-inkscape/
changepagestring
сделает это за один шаг, так же просто, как:
changepagestring -o -v infile.pdf search-regex replace-str outfile.pdf
Однако, как и принятый в настоящее время ответ, это удачный или пропущенный результат и не работает должным образом со всеми файлами.