As of this writing, IE8 is still the most popular browser out there on account of Windows 7 being the most widely used OS. So naturally we end up supporting IE8, however unpleasant that may sound.

Came across couple of issues around pdf rendering recently. One of them is well documented, the other not so..

Issue 1 - pdf does not render in IE8 over https

Our application shows pdf forms in web page. And we found that in dev environment all is well, while in upper environments IE8 is not rendering the PDFs. It turns out that the issue is a well documented one - IE8 cannot render pdf served over https if Cache-Control header has values other than private or if Pragma header is set.

Pragma: no-cache Cache-Control: no-cache, max-age=0

While there are multiple ways to fix the issue, we chose to use Apache Web Server's mod_header plugin's capability.

<Location /private/forms>
    BrowserMatch "MSIE 8" ie8 
    Header unset Pragma env=ie8 
    Header set Cache-Control private env=ie8
</Location>

Issue 2 - pdf rendering in IFrame crashes the IE8 browser.

If the PDF is rendered in an IFrame adn the header X-UA-Compatible header is present, the plugin crashes IE. Again the fix was done in the web server configuration

Header unset X-UA-Compatible