With vision difficulties, my grandpa can't read text whenever backgrounded by dark color in the PDF in the screenshot beneath. Click here to download it, or see some of its pages at Google Books. It's too unproductive to remove each use of the dark background color one-by-one. Thus how can I, in one brisk stroke?
Testing on your document, I think I have managed to find a method that gives good results (although not perfect).
This requires converting the PDF file to a Word document. The best convertor I found is Adobe Acrobat Pro which is a commercial product with a 7-day trial.
Convert to Word
- Start Adobe Acrobat Pro
- Open the PDF file,
- Use the menu File > Export To > Microsoft Word > Word document
to export the file to a
Convert to macro-enabled document
- Open the
.docxdocument in Word
- Use the menu File > Save As
- Choose a folder
- Set "Save as type" to
- Click Save
Create and run the VBA macro
- Open the
.docmdocument in Word
- Press Alt+F11 to open the VBA editor
- In the Insert tab click Module
Copy the following VBA code into the window:
Sub DoShapes() For Each shp In ActiveDocument.Shapes If shp.WrapFormat.Type = wdWrapFront Then shp.WrapFormat.Type = wdWrapBehind If shp.Width > 216 And shp.Type <> msoGroup And shp.Type <> msoLine Then shp.Fill.ForeColor.RGB = RGB(250, 250, 250) Next shp End Sub
Note that the background color of the text to very light gray. This is because the colored background is used to designate quotes. If you want to make it all white, change in the above to
RGB(255, 255, 255).
Click the green triangle to run this code (this will take some time)
- When finished, save the file as
.docxor as PDF.
I have uploaded the document after the above manipulations to this link for you to see. When the document is displayed, click the three-points (...) icon and choose Download. I will delete this link in a few days.
It should be possible to use Inkscape to process the PDF to remove the coloured background using the scripting APIs to automate the task. Inkscape can only process one page at a time, but since you'd be automating this anyway this shouldn't be too much of a problem.
To make it as easy as possible, I'd import each page, replace all instances of
fill-opacity:0;, and export it again.
Works! Partial solution; font also needs to be changed to be properly legible.
I'll see if I can hack together an extension to do this, but it won't be today.
If you can open a single highlighted page of the document in Inkscape (ensure that you have the fonts added to the system and play around with the text import settings to get this to work!) then this approach will work for your particular documents.
This works for the document you have provided.
Thanks so much for all the other answers! Yet I found this to be the most straightforward one that requires only basic knowledge of Adobe Acrobat, and doesn't require other programs.
In Acrobate Pro.
Go to "Tools" and open the "Print Production" pane.
Choose "Output preview".
Uncheck "PANTONE 302 C" or "Spot Plates" (either works)
Now read the PDF exactly as it is but without the blue background. Do this without closing the Output Preview box.
By having the Output Preview open you can toggle the background on and off when needed.
I would suggest that you open the PDF in Acrobate pro and then save it as an HTML page.
It's more or less like this:
- In Acrobate go to File menu and choose Save as and in sub menu go to More Options and choose HTML.
- You can read the file in your normal web browser.
I Saved the file as HTML and uploaded it here.
If I open this in my browser I find it very easy to read and scroll. You can search with ctrl+f and increase and decrease text size if needed with ctrl+/-
Most important: NO COLORED TEXT BACKGROUNDS!
Check it out and tell me what you think!