New Blog Post: RESTful Reporting

Report Builder End User Design Question

edited September 2002 in End User
Hopefully this is the correct newsgroup to be asking this question.

I am currently using QRDesign to provide a facility to my users to design
their own invoice layouts. I am having problems with the component with
regard to where the user has a dot matrix printer and also with getting any
kind of support with stability issues.

Can Report Builder Designer be sucessfully used for designing documents
which may used customised stationery lengths particulary with a view to
printing on continous pre-printed stationery using dot matrix printers?

Chris Kudla
C.K. Services


  • edited September 2002
    For the best performance for a dot matrix printer, you should create a
    report specifically for the dot matrix printer, and then another report for
    office jet style printers. You can use repor templates to load the correct
    one based on what the user want to print to. I'm attaching two articles
    which explain printing to dot matrix with RB in more detail.

    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

    Tech Support
    Digital Metaphors

    Tech Tip: Send TextFile to Printer

    I designed a application that exports the report to a .txt
    file using ReportTextFile device.

    How can I Send the text file to the printer?

    The following procedure will send the .txt file to
    the printer using Delphi's TPrinter object.


    procedure SendTextFileToPrinter(aFileName: String);
    lsLines: TStringList;
    lOutputFile: TextFile;
    liIndex: Integer;

    lsLines := TStringList.Create;



    for liIndex := 0 to lsLines.Count-1 do
    Writeln(lOutputFile, lsLines[liIndex]);




    Tech Support
    Digital Metaphors


    Jim Bennett
    Digital Metaphors

This discussion has been closed.