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

Help dot matrix printer custom paper size

edited November 2006 in Devices
I must print on a model with dimensions (245w x 305h MILIMETER).
Printing is one Epson LQ2180.
I have set up the report with:
- unit = printer pixel
- page setup = custom 3500 x 4322 printer pixel (are right the
transformation from the millimeters ??)
- font = draft 15
The first sheet comes correctly printed well but does not go correctly to
the begining of the next page.
What I can resolve this problem?
Thanks

p.s. I ask excuse for my English

Comments

  • edited November 2006
    Hi Eugenio,

    This is not a known issue with ReportBuilder. Which version are you
    currently using? Where are you defining the paper size in your code? Are
    you printing to a continuous piece of paper such as a receipt printer? If
    so, take a look at the following article.

    ----------------------------------------------------
    Article: Printing to Continuous Paper
    ----------------------------------------------------

    1. Layout

    For continuous printing (for example a receipt) use Title/Summary and
    removing the Header/Footer. Set the PrintHeight of each to phDynamic. Layout
    the DetailBand to print a single line item. Set the margins to 0 or to the
    smallest that the printer driver will support (some printers have an
    unprintable area).

    With this configuration The Report will generate a Title followed by a
    variable number of Detail bands that span pages if needed, and then finally
    print a Summary at the end.

    2. Pagination

    a. dtPrinter

    Some printer drivers have a continuous paper size setting. If not then try
    setting the paper size to be very small - perhaps the size of the tallest
    band in the layout. Or try setting the page height to be the size of a
    detail band. Note that some printer drivers will only accept page sizes
    within a certain range of paper sizes.

    b. dtReportTextFile

    With the above layout, the report text file will generate the page breaks
    properly, however the device will fill up a page with blank lines. You can
    control the number of lines per page by configuring the CharacterGrid
    property in the Report.BeforePrint event:

    example:


    procedure TForm1.ppReport1BeforePrint(Sender: TObject);
    var
    lDevice: TppReportTextFileDevice;
    begin

    if (ppReport1.FileDevice <> nil) and (ppReport1.FileDevice is
    TppReportTextFileDevice)then
    begin
    lDevice := TppReportTextFileDevice(ppReport1.FileDevice);

    {120 characters per line, 66 lines per page}
    lDevice.CharacterGrid(120, 66);
    end;

    end;


    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited November 2006
    Thanks for your ready answer.
    I must print on a model to continuous module (Invoice).
    Use version 6,03 of report builder with Delphi.
    I am using Header and Footer.
    I have used in order to define the dimension of the sheet printersetup \
    papername \ paperheight and paperwidth, it is also necessary to define the
    dimension of the pages in the code delphi?
    You could make a code example me?
    Thanks still for your aid?
    Salutes Eugene
  • edited November 2006

    "Eugenio Zinga" ha scritto nel messaggio
  • edited November 2006
    Hi Eugenio,

    You are using a fairly old version of ReportBuilder. My first suggestion
    would be to try downloading the trial edition of the latest version of
    ReportBuilder that is available for your Delphi version and test with that.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited November 2006
    Nico thanks for your availability, therefore according to you is a issue of
    version of report builder while the formulations that I have given are ok?
    Thanks, soon.
    Eugene
  • edited November 2006

    Excuse Nico, to how much is equivalent a Printer pixel in millimeters?
    Because on according to sheet the press it begins before approximately a
    centimeter.
    Tomorrow I try to increase height and then even
    I make to know you.
    Thanks
  • edited November 2006
    Hi Eugenio,

    Take a look at the following article on calculation measurements with a
    dot-matrix printer. Perhaps this will help.


    -----------------------------------------------
    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.

    Tip: When designing the report, use the PrinterSetup property to specify a
    printer that contains 600 dpi. Then set Report.Units to PrinterPixels. Now
    100 pixes = 1/6 of inch when specifying the positions of objects in the
    layout.


    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.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.