How can I do to avoid ejection of paper after the matrix printer has finish the impression? I want that the matrix printer stop at the end of impression (without eject), for priting multiple (not at once) labels in one paper.
----------------------------------------------- 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.
----------------------------------------------- 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.
uses Printers;
procedure SendTextFileToPrinter(aFileName: String); var lsLines: TStringList; lOutputFile: TextFile; liIndex: Integer; begin
lsLines := TStringList.Create;
try lsLines.LoadFromFile(aFileName);
AssignPrn(lOutputFile); Rewrite(lOutputFile);
for liIndex := 0 to lsLines.Count-1 do Writeln(lOutputFile, lsLines[liIndex]);
Comments
-----------------------------------------------
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.
-----------------------------------------------
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.
uses
Printers;
procedure SendTextFileToPrinter(aFileName: String);
var
lsLines: TStringList;
lOutputFile: TextFile;
liIndex: Integer;
begin
lsLines := TStringList.Create;
try
lsLines.LoadFromFile(aFileName);
AssignPrn(lOutputFile);
Rewrite(lOutputFile);
for liIndex := 0 to lsLines.Count-1 do
Writeln(lOutputFile, lsLines[liIndex]);
CloseFile(lOutputFile);
finally
lsLines.Free;
end;
end;
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com