Как найти и заменить текст в существующем файле PDF на PDFTK (или другое приложение командной строки)

На каждой странице моего PDF-документа есть строка с этой строкой:

%REPLACE%

Который я бы хотел найти и заменить другой строкой.

Кто-нибудь знает, как это сделать с помощью какого-либо приложения командной строки, такого как PDFTK?

Этот народ дал мне важную подсказку, однако я хотел бы что-то более прямое.

Благодарю.

3 ответа

Вы можете попробовать изменить содержимое вашего PDF следующим образом

  1. Распакуйте текстовые потоки PDF

    pdftk file.pdf output uncompressed.pdf uncompress
    
  2. Используйте sed, чтобы заменить ваш текст другим

    sed -e "s/ORIGINALSTRING/NEWSTRING/g" <uncompressed.pdf >modified.pdf
    
  3. Если эта попытка была успешной, повторно сожмите 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

Однако, как и принятый в настоящее время ответ, это удачный или пропущенный результат и не работает должным образом со всеми файлами.

Другие вопросы по тегам