PDF background colour fix with latest Adobe updates

Recently Adobe released an update for Acrobat Professional and Adobe Reader (version 11.0.10) that fixes a long-standing accessibility problem with background colours in PDFs.

Previously, when users customised foreground/background colours in PDFs (via Edit, Preferences, Accessibility, Replace Document Colors), any section of a page with a background colour that covered less than half the total page area was likely to cause problems.

The problem

Specifically, if the original colours were, say, black text on a pink background, and if a user set his or her preferences to yellow text on a black background, Acrobat or Reader would convert the text colour to yellow as required, but would not recognise the background correctly and so leave its colour unchanged.


The outcome, of course, would be yellow text on a pink background.

With the latest update, Acrobat/Reader will now correctly recognise backgrounds that cover less than half of the page area, thus eliminating the problem.

Older versions

However, of course, many people, for one reason or another, use older versions of Acrobat or Reader. Hence, it is still advisable, if possible, for document authors to avoid the problem in the first place in the source document. Unfortunately, there is no way of doing so in Microsoft Word, but there is a fix in InDesign.

The InDesign workaround

In InDesign you can fool a PDF into thinking a background covers more than half the page when (visually) it doesn’t. To do so you will need to create a new frame that does cover more than half the page, give it the required background colour, copy the new frame, delete it, and then use the Paste Into command in InDesign to paste the new larger frame into the original smaller one.

The excess background colour will be masked to create the correct visual effect, while the PDF will interpret the background correctly.

Eventually of course, this technique will become redundant, but for the time being it is advisable to create smaller background areas in this way.

About this post