How would I be able to programmatically search and replace some text in a large number of PDF files? I would like to remove a URL that has been added to a set of files. I have been able to remove the link using javascript under Batch Processing in Adobe Pro, but the link text remains. I have seen recommendations to use text touchup, which works manually, but I don't want to modify 1300 files manually.
- PDF Replacer is a handy freeware tool based on Windows platforms, and it is specifically designed to find specified words or phrase text in multiple PDF documents and replace with new text in bulk.
- Many times, you probably need to change the contents of the PDF file which you have on hands or have received from other people. However, it will take you lots of time to replace text in PDF one by one, especially when you have a PDF file with millions of words.
A-PDF Text Replace allows you to find and batch replace specific text in a PDF file in seconds. A-PDF Text Replace allows you to find and batch replace specific text in a PDF file in seconds.
8 Answers
Finding text in a PDF can be inherently hard because of the graphical nature of the document format -- the letters you are searching for may not be contiguous in the file. That said, CAM::PDF has some search-replace capabilities and heuristics. Give changepagestring.pl a try and see if it works on your PDFs.
Chris DolanChris DolanI have also become desperate. After 10 PDF Editor installations which all cost money, and no success:
pdftk + editor suffice:
Replace Text in PDF Files
Use pdftk to uncompress PDF pagestreams
pdftk original.pdf output original.clear.pdf uncompress
Replace the text (sometimes thisworks, sometimes it doesn't).
Repair the modified (and now broken)PDF
pdftk original.clear.pdf output original.clear.fixed.pdf
(from Joel Dare)
Not sure I would want to do all the work to write the code to modify your 1300 files when there is a program that can do it for you. The other day, I used the Professional version of Infix to batch modify almost 100 files using its 'Find and Replace in Files' feature. It works great. I have evaluated other programs in hopes finding an find and replace functionality similar to Microsoft Word. Infix was the only one I found that can do it. Check out: http://www.iceni.com/infix-pro.htm
You can use the 'redaction' feature in Adobe Acrobat Pro to find & replace all references in a single document in one step...not sure if it can be automated to multiple steps.
davrdavrI just finished trying out infix for a text that is comprised of text ladened with diacritics with the hope of generating another text where characters with double and composed diacritics are replaced by alternate with single diacritics. Infix is such definitely a good solution for someone who does not care for the trouble of understanding the working of programmatic solutions. All the request changes were effected. Still need to understand how to effect reflow of words that change the layout of text.
This is just half a solution but I used Touch up combined with AppleScript's support for sending keystrokes to replace a string in thousands of table cells. Depending on how your pages are layout it could work for you. In my case I had to manually insert the cursor in the beginning of every table (tens of tables - quite manageable for a manual process) but after that i replaced thousands of cells automatically.
The question is for a programmatic solution, but I will still share this free online tool which helped me mass replace text in some PDF files:
I did not notice any ads or other modifications in the resulting PDF files after replacing the text.
I was not able to make the changes locally with the software I tried. I think the main problem was that I was missing the font used in the PDF and it did not work properly, even with Acrobat Pro. The online tool did not complain and produced a great result.
I suggest you may use VeryPDF PDF Text Replacer Command Line software to batch replace text in PDF pages, you can run pdftr.exe to replace text in PDF pages easily, for example,
pdftr.exe -contentreplace 'My Name=>Your Name' D:in.pdf D:out.pdf
pdftr.exe -searchandoverlaytext 'My Name=>Your Name' D:in.pdf D:out.pdf
pdftr.exe -searchandoverlaytext 'My Name=>D:tempmyname.png*20*20' D:in.pdf D:out.pdf
pdftr.exe -pagerange 1-3 -contentreplace 'Old Text=>New Text||VeryPDF=>VeryDOC||My Name=>Your Name' D:in.pdf D:out.pdf
pdftr.exe -searchtext 'string' C:in.pdf
pdftr.exe -pagerange 1 -searchtext 'string' C:in.pdf
pdftr.exe -pagerange 1 -searchandoverlaytext 'Old Text=>New Text||VeryPDF=>VeryDOC||My Name=>Your Name' D:in.pdf D:out.pdf
pdftr.exe -overlaytextfontname 'Arial' -overlaytextcolor FF0000 -overlaybgcolor 00FF00 -searchandoverlaytext 'Old Text=>New Text||VeryPDF=>VeryDOC||My Name=>Your Name' D:in.pdf D:out.pdf
pdftr.exe -opw 123 -upw 456 -contentreplace 'Old Text=>New Text||VeryPDF=>VeryDOC||My Name=>Your Name' D:in.pdf D:out.pdf
Replace Text In Pdf Itext
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