I am using VB6 with the Crystal ActiveX Report Viewer Library 11.0 with a SQL2005 database. The reports are being generated through our VB6 code and are designed in Crystal Reports 11.5. The report generation code has been updated to use the Crystal Reports ActiveX Designer Run Time Library 11.0. The reports were previously generated using the 8.5 version of the same component. All of this is working acceptably.
We have several reports where the exact positioning of the items on the report are a necessity. When running the reports through the 11.0 library, it seems as though the preset margins are enforced. For example, if the first field is located at one inch over and one inch down, it will now print out at 1.18 inches over and 1.166 inches down.
When I open the report for design in Crystal Reports, and select File >> Page Setup, the settings listed below are shown:
Paper Size: Letter
Paper Source: Automatically Select
Adjust Automatically: Unchecked
Printer Options: No Printer Unchecked
If I try to change the margin settings to zero, they reset to the above values. Is there any way I can get those values to be zero?
Don Williams replied
INFO: Margins are set when we query the default printer driver to see what the printers limits are. By default if we don't use a real printer we use Microsofts Generic Print Driver, we are WYSIWYG and require a printer driver, so we use MS's.
Work around, most printer have margins less that 1 inch froma ll sides so set your report margins to be this size in the report. This way no matter what driver you use it should not later the page layout. There may be some printers so you'll have to create a list of supported printers or make a release note to verify first.