Performance question when printing to matrix-printer
Posted: Thu Apr 03, 2014 6:36 pm
Hi,
I have to print batches of reports to a Matrix-Printers. In order to do this, I create a list of businessobjects (say 1500) and use PrintToDotMatrix() to print them. This works but takes a terrible amount of time.
It looks like the report is being created on the PC for 10 to 15 Minutes. During this time the application is not available and the printer queue stays empty. Then after the time has elapsed the app is available again, the print queue has one big job and the printer starts printing.
If I send the same amount of records to a laser-printer then it takes just a few seconds and the application is available again. Further in the printer-queue of the laser-printer I can then see the number of pages being printed, whereas in the Matrix-Printer-Queue it says only "1" page although the same number of pages are being printed.
This is how I print the report:
Why is there such a huge difference between using "PrintWithWpf" and "PrintToDotMatrixPrinter"??
Matrixprinter (using PrintToDotMatrixPrinter):
- Printing ~400 records takes 20 secs until the job is visible in the printer's queue
- Printing ~1000 records takes 120 secs until the job is visible in the printer's queue
Laserprinter (using PrintWithWpf):
- Printing ~400 records takes 3 secs until the job is visible in the printer's queue
- Printing ~1000 records takes 7 secs until the job is visible in the printer's queue
The reports are attached.
This could amount to a serious issue...
I hope you can help me here...
Cheers,
Pascal
I have to print batches of reports to a Matrix-Printers. In order to do this, I create a list of businessobjects (say 1500) and use PrintToDotMatrix() to print them. This works but takes a terrible amount of time.
It looks like the report is being created on the PC for 10 to 15 Minutes. During this time the application is not available and the printer queue stays empty. Then after the time has elapsed the app is available again, the print queue has one big job and the printer starts printing.
If I send the same amount of records to a laser-printer then it takes just a few seconds and the application is available again. Further in the printer-queue of the laser-printer I can then see the number of pages being printed, whereas in the Matrix-Printer-Queue it says only "1" page although the same number of pages are being printed.
This is how I print the report:
Code: Select all
objReport.PrintToDotMatrixPrinter(aPrinter, System.Text.Encoding.GetEncoding(1252), false, Stimulsoft.Report.Export.StiTxtBorderType.Simple, false, false, false, false, 1, 1, 1, objReport.RenderedPages.Count, true, "EpsonFX");
Matrixprinter (using PrintToDotMatrixPrinter):
- Printing ~400 records takes 20 secs until the job is visible in the printer's queue
- Printing ~1000 records takes 120 secs until the job is visible in the printer's queue
Laserprinter (using PrintWithWpf):
- Printing ~400 records takes 3 secs until the job is visible in the printer's queue
- Printing ~1000 records takes 7 secs until the job is visible in the printer's queue
The reports are attached.
This could amount to a serious issue...

Cheers,
Pascal