Home Devices
New Blog Posts: Merging Reports - Part 1 and Part 2

Report Scaling

edited March 2003 in Devices
Hi,

I am using Report Builder Enterprise 7.02 with Delphi 7.0 on Windows 2000.
I'm trying to setup a report for a very compilcated pre-printed form.
Unfortunatly, I have discovered that some of the printers that are going to
be used print at a slightly smaller (or larger) scale than others.
I was wondering if there is method that would allow me to scale the entire
report by a small amount (say +/- 0.1-1.0%) to allow for the differences
between each printer.
Thanks in Advance.

My email is: adam at iiiisoftware dot com

Comments

  • edited March 2003
    You're right, each printer has a different unprintable area (actual
    margins). There is no built-in method to scale the report, though it is
    possible to scale the output. You can scale the draw commands on the page on
    the output side. The native output of RB are page objects with draw commands
    on them. Use the Report.OnEndPage event to loop through the
    Report.Engine.Page object's DrawCommands array property. The draw command
    measurements are in microns. To get the page height of the available space,
    call Report.PrinterSetup.PageDef.mmPrintableHeight. There is also
    mmPrintableWidth too. This should give you enough information to code a
    simple scaler for the draw commands for your custom report, assuming you
    know which printers need a specific scaling percentages applied by checking
    the printer name that the report is being generated to.


    Cheers,

    Jim Bennett
    Digital Metaphors


  • edited March 2003
    Hi Jim,

    Thank you for the quick response. This will help out a great deal.

    Adam
This discussion has been closed.