Opening the PDF file has nothing to do with ColdFusion! In common use, the file is either opened by the browser or by a PDF reader.
Suppose the code in your CFM page is of the form
<!--- content --->
When the CFM page is opened in the browser, the browser is instructed to use its PDF plugin (if it has one) to display the page as a PDF document. Display problems will therefore imply there are issues with the plugin.
Suppose, on the other hand, that the code in your CFM page is of the form
<cfdocument format="PDF" filename="test.pdf" overwrite="yes">
<!--- content --->
PDF saved as file
When this CFM page is opened in the browser, the resulting PDF document is saved on the server. It is in this case that you may use a PDF reader to display it. However, that is inadvisable.
Remember that you are now located at the server. It is not the business of the server to be displaying files of any kind. In other words, you should not even be thinking of installing a PDF reader on the server. What developers usually do, after saving the PDF file, is to add code that enables the client(browser) to download it.
Thanks. I was grasping for straws as to why the PDF would display correctly on a local/staging server, but not on our production server, even though same software versions, etc. I had read that when using CFLOCATION and/or CFINCLUDE, the CSS Styles did not always work. And that was my case.
On our production server, we have NAM/I-Chain for security, to control who can access certain sites. The URL used for production does not use the actual server name (which bypasses NAM/I-Chain), and that does allow the PDF file to display correct, with all the styles, fonts, intact. But if accessed using the server's "advertised" name (e.g. www.MyDepartmentsServer.com/report1.cfm), the PDF does not use the CSS style sheet correctly, and the background colors, fonts, etc., are all gone.
At least I found a temporary fix, although I'm not fond of displaying the server's actual host name in the response URL. However, since the user can only get to this point by using the "advertised" server name, we should be OK security wise. Most web sites/reports check for this anyway, and won't run the template if it was accessed using a specific server name. Thanks again for taking the time to help.