Как запрограммировать поиск и замену текста в PDF-файлах

StackOverflow https://stackoverflow.com/questions/220445

  •  03-07-2019
  •  | 
  •  

Вопрос

Как я смогу программно выполнить поиск и заменить некоторый текст в большом количестве PDF-файлов?Я хотел бы удалить URL-адрес, который был добавлен к набору файлов.Мне удалось удалить ссылку с помощью javascript при пакетной обработке в Adobe Pro, но текст ссылки остался.Я видел рекомендации по использованию text touchup, который работает вручную, но я не хочу изменять 1300 файлов вручную.

Это было полезно?

Решение

Поиск текста в PDF может быть затруднен из-за графической природы формата документа - искомые буквы могут не быть смежными в файле. Тем не менее, CAM :: PDF обладает некоторыми возможностями поиска и замены и эвристики. Попробуйте changepagestring.pl проверить, работает ли он на вашем компьютере. PDF-файлы.

Другие советы

Я тоже впал в отчаяние.После 10 установок PDF-редактора, которые все стоят денег, и безрезультатно:

достаточно редактора pdftk +:

Замена текста в PDF-файлах

  • Используйте pdftk для распаковки PDF-страницы потоки

    pdftk original.pdf вывод original.clear.pdf распаковка

  • Замените текст (иногда это работает, иногда нет).

  • Восстановите измененный (и теперь сломанный) файл PDF

    pdftk original.clear.pdf вывод original.clear.fixed.pdf

(от Джоэла Дэйра)

Не уверен, что я хотел бы сделать всю работу по написанию кода для изменения ваших 1300 файлов, когда есть программа, которая может сделать это для вас. На днях я использовал Профессиональную версию Infix для пакетного изменения почти 100 файлов с помощью функции «Найти и заменить в файлах». особенность. Это прекрасно работает. Я оценил другие программы в надежде найти функциональность поиска и замены, аналогичную Microsoft Word. Инфикс был единственным, кого я нашел, который может это сделать. Проверьте: http://www.iceni.com/infix-pro.htm

Вы можете использовать функцию «редактирования» в Adobe Acrobat Pro, чтобы найти & amp; заменить все ссылки в одном документе за один шаг ... не уверен, что его можно автоматизировать в несколько этапов.

http: / /help.adobe.com/en_US/Acrobat/9.0/Professional/WS5E28D332-9FF7-4569-AFAD-79AD60092D4D.w.html

Я только что закончил пробовать инфикс для текста, который состоит из текста с диакритическими знаками, с надеждой создать еще один текст, в котором символы с двойными и сложными диакритическими знаками заменяются на чередующиеся с одиночными диакритическими знаками. Infix - определенно хорошее решение для тех, кому не безразлично понимать работу программных решений. Все изменения запроса были выполнены. Еще нужно понять, как осуществить перекомпоновку слов, которые меняют расположение текста.

Это только половина решения, но я использовал Touch up в сочетании с поддержкой AppleScript для отправки нажатий клавиш, чтобы заменить строку в тысячах ячеек таблицы. В зависимости от того, как ваши страницы макет, это может работать для вас. В моем случае мне пришлось вручную вставлять курсор в начало каждой таблицы (десятки таблиц - это вполне осуществимо для ручного процесса), но после этого я автоматически заменил тысячи ячеек.

Я предлагаю вам использовать программу командной строки VeryPDF PDF Text Replacer для пакетной замены текста на страницах PDF, вы можете запустить pdftr.exe, чтобы легко заменить текст на страницах PDF, например,

pdftr.exe -contentreplace " Мое имя = > Ваше имя " D: \ in.pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext " Мое имя = > Ваше имя " D: \ in.pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext " Мое имя = > D: \ temp \ myname.png * 20 * 20 " D: \ in.pdf D: \ out.pdf

pdftr.exe -pagerange 1-3 -contentreplace " Старый текст = > Новый текст || VeryPDF = > VeryDOC || Мое имя = > Ваше имя " D: \ in.pdf D: \ out.pdf

pdftr.exe -searchtext " строка " C: \ in.pdf

pdftr.exe -pagerange 1 -searchtext " string " C: \ in.pdf

pdftr.exe -pagerange 1 -searchandoverlaytext " Старый текст = > Новый текст || VeryPDF = > VeryDOC || Мое имя = > Ваше имя " D: \ in.pdf D: \ out.pdf

pdftr.exe -overlaytextfontname " Arial " -overlaytextcolor FF0000 -overlaybgcolor 00FF00 -searchandoverlaytext " Старый текст = > Новый текст || VeryPDF = > VeryDOC || Мое имя = > Ваше имя " D: \ in.pdf D: \ out.pdf

pdftr.exe -opw 123 -upw 456 -contentreplace " Старый текст = > Новый текст || VeryPDF = > VeryDOC || Мое имя = > Ваше имя " D: \ in.pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext " PDFcamp Printer = > VeryPDF Printer " -overlaytextfontsize 8 D: \ in.pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext " PDFcamp Printer = > VeryPDF Printer " -overlaytextfontsize 80% D: \ in.pdf D: \ out.pdf

scroll top