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

Urgent Request (Report creeping)

edited June 2004 in General
Hi every one,

I am having tought time with creeping problem with my report.

I am printing report on preprinted pages using report builder for delphi 6
on Epson DFX-8000 dot matrix printer.


The problem is that my report is creeping slowly up when I print more than
one page at a time.
The creep is signigicant if I print about 10 pages or more.

I checked the page size with my report page size , it a proper match.
I have custom paper size about 2 2/3 inch height.

I am not sure what is causing the problem.

I would appretiate if some one can guide me where I am going wrong and how
to fix this problem.

Thank You
Kumar

Comments

  • edited June 2004
    Hi Kumar,

    We have not heard of this issue before. Be sure your printer does not have
    a setting to manually feed the paper once the printing has finished. Also,
    check to see that your margins are set correctly. Printing to a dot-matrix
    printer can be tricky at times because the spacing is based on lines and
    character positions rather than printer pixels. Take a look at the
    following article for information on how you might find the issue.

    -----------------------------------------------
    Article: Printing to Dot Matrix Printers
    -----------------------------------------------

    Dot matrix printers are natively line and character based. Most dot
    matrix printers can emulate graphical (i.e. pixel based) printing, but
    there is additional overhead which degrades printing speed.

    Some options for maximizing performance:

    1. Use native printer fonts.

    Each dot matrix printer normally has some built-in fonts. You can choose
    these fonts when using the ReportBuilder Report Designer. Choose File |
    PageSetup and select the dot matrix printer (or optionally use the
    object inspector to set Report.Printersetup.PrinterName). The fonts
    displayed in Report Designer's font drop down list located on the format
    toolbar will display the printer native fonts (indicated by a special
    printer icon next to the font name).

    2. Vertically position and size objects in 1/6 inch increments.

    A standard dot matrix printer can print 66 lines per 11 inch portrait
    page. This translates to a line height of 1/6 inch. Therefore the height
    of each band should be a multiple of 1/6 as should the size of the
    margins, the vertical position of each object etc.

    3. Keep the layout simple, avoid using graphics of any kind.

    Alternatives to using the dot matrix printer driver:

    1. Use the generic text printer driver.

    When using the generic text printer you will need to use the courier or
    courier new font and apply the layout techniques described above.

    2. Use ReportBuilder's ReportTextFile device output format.

    This ReportTextFile device can exports the report to a .txt file which
    you can then send to the printer. Demo dm0107.pas in the main reports
    demo app shows an example of printing a report to a .txt file and
    previewing the results.


    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited June 2004
    Hi Nico Cizik

    Thanks a lot for response.
    I really appreciate your detailed explanation.

    I will change my report as suggested by you and will inform you as soon has
    I have results.

    But I am having one doubt about the report height.

    The page size of my actual report is 2 2/3 inch.
    So I had set the report size as 2.6667. But 2/3 = 0.66666666666......
    I am thinking if this is causing the creep .

    Can you please guide me what according to you will be the best size and
    margin for my report.

    My pre-printed page size is 9 inch width by 2 2/3 height .
    I am using Delphi 6 report builder version 6.03 on XP machine.
    Also my report is using TppRegion component. I am not using any graphic.

    Thank You
    Regards
    Kumar




  • edited June 2004
    Hi Kumar,

    The paper size may in fact be the problem here. You might try changing your
    reporting units to millimeters and see if that helps. Also, you might try
    dowloading a trial version of ReportBuilder 7.03 and see if that makes a
    difference.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited June 2004
    Again Thanks for quick reply,

    I actually tried with millimeters also, but the problem is still there.

    I will later try to install 7.03 and see if it works.

    I was wondering how does report margin works. If my pre-printed page size is
    10 inch
    and if I want top and bottom margin each to be 1 inch, then what should be
    my report size
    8 inch of 10 inch. Also why actually do we need margins ?

    I actually tried by setting 0 inch as top / bottom margin, but still I was
    having the same problem.

    Thanks
    Regards
    Arun



  • edited June 2004
    Hi Kumar,

    Most printers define an "unprintable area" which is generally about 0.25
    inches from the edge of the page. When you set the margins of a report to
    something smaller than this, you can get various effects when printing a
    report from endless pages to missing report components. As a generaly rule
    of thumb, the page margins should always be at least 0.25 inches on each
    side of the page.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited June 2004
    Thanks for you continuing help.



    Here is some thing amazing I found to fix the problem.



    If I set the report's PaperHeight property at ppReport component's
    BeforePrint event then every thing works fine.



    Example:

    procedure TForm1.ppReport1BeforePrint(Sender: TObject);

    begin

    ppReport1. PrinterSetup.PaperHeight := 3.671;

    end;





    Now I am not sure if this has some thing to do with component or some thing
    else.



    Thank you,

    Regards,

    Kumar




  • edited June 2004
    Hi Kumar,

    I'm not exactly sure why this had an effect on the printer output as well.
    Perhaps the printer defaults were overriding the initial ReportBuilder
    settings. All printers and printer drivers are same in the fact that they
    sometimes need a little tweaking to get the correct output. Glad you got it
    working.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited June 2004
    Hi Again,

    Well I have this creeping problem fixed by using the method I mentioned
    earlier.

    But I am having a new problem now.
    The report started to print only left half of the page.

    Now this what I series of action I took .

    I tried printing many report about 10 pages each.
    It was giving creeping problem.
    After hard coding the report height in code before onPrint event I got rid
    of the creep problem.
    I tried to test couple of more times and played with printer by stopping in
    between when it was printing.
    Then suddenly it started printing only left half of the page.
    I added a copy of the same driver using add printer in printer settings.
    I used this new driver to print about 20 pages.
    It printed good.
    Now I tried to print about 100 pages. I looked till it printed about 20
    pages. It looked good.
    So I stopped the print in between by canceling the print job.
    Now when I tried to print again with the new driver , it started printing
    only left half of page again.

    So its looks like if I stop the printer/stop print job in between it print
    only left half of the page.

    I would appreciate if you help me fix the problem.

    Thanks
    Kumar








  • edited June 2004
    Hi Kumar,

    For future reference, please post a new message when you have a new topic to
    discuss. This make it easier for us to find your message and help you as
    quickly as possible.

    Printing of half a page is not a known issue with ReportBuilder. Are you
    only seeing half a page in the report preview as well as when you print to
    paper. Check your event code to be sure you do not have a resource leak
    anywhere that might be causing this behavior. As a test, try printing the
    same report to another printer and see if you get the same results.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited June 2004
    Thanks for reply.

    Actually I did thought I should report as new message.
    But I thought may be this was linked to earlier problem.
    Next time I will do as suggested by you.

    Actually I am seeing full page in the report preview.

    I am sorry but I don't know how to check resource leak.

    At this time I am having only one printer to test.

    Thank You
    Regards
    Kumar



  • edited June 2004
    Hi Kumar,

    Usually when the output on paper does not match the output on screen there
    is some event code causing the discrepancy. Try commenting out all your
    event code and re-running the report. If this solves the problem,
    periodically begin adding the event code back to isolate the problem. If
    you still have the issue, please send a small example of this report in .zip
    format to support@digital-metaphors.com and I'll try to print it on my
    printers just to be sure it is only happening on your specific printer.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited June 2004
    Hi Nico,

    Thanks for suggestion.

    I tried printing the same report from windows 2000 and it works good.
    I couldn't reproduce the same problem.

    Also instead of EPSON DFX-8000 I tried printing with EPSON DFX-5000 driver
    and it prints good.
    Again with this 5000 driver till now I am not able to reproduce this
    problem.

    Also I will follow the instructions as suggested by you and will post here
    the results.

    Thanks again.
    Regards
    Kumar
    ---------------------


This discussion has been closed.