I am looking for a solution to a printing problem. I need to be able to print something to a laser printer fast. I am using FastReports but from the time you start the print it takes many seconds before it starts to print. I have done some tests with printing HTML but had some issues with the controls I was using, cropping the page to the controls size. I might be able to get past that but the control did not support absolute positioning of HTML elements. What I am printing are trade show badges. So I need to have absolute positioned text, and there will be static images and dynamic images as well (QR codes). So, I am looking for any and all suggestions.

Comments

  1. Back in the day, when I had a thousand or so trade show badges to print, I used a product called BarTender - a bar code printing program. I used COM to communicate with it with a large Delphi app I wrote.

    BarTender uses a template to align text and graphics on the printout, so all you need to do is pass it the attendee name, title, company, Etc. I had it encode all of that plus their prepaid meal ticket status in a DataMatrix bar code on the badge.

    The front desk folks would scan in each badge using a bar code reader when the attendee showed up. That way we could keep track of head count and adjust the number of seats at the banquet.

    BarTender printed the thousands of badges very quickly on a thermal printer using laser-perforated badge stock.

    ReplyDelete
  2. Like Juan i never had such problems with FastReports. If you do not have the sources so that you can do a proper analysis (using either logging or one of the profilers available out there) of why things are taking time, remove one type of object from your report at a time. There has been a lot of fixes to barcodes in FR so if i was just to guess that could be the culprit.

    ReplyDelete
  3. Postscript printers are notorious for requiring very large amounts of data for images (your printer may have this mode). Also, there is a ton of awful code written used to attempt transparency that never considered it might be used on a printer. I would look at the spoolsize first (if it exists), as that usually yields a clue to some sort of inefficient code somewhere. If you have a lot of little bitmaps, try combining them, and send in one shot with SetDIBitsToDevice() using the printers pixel format.

    PostScript® and Display PostScript® are registered trademarks of Adobe Systems Incorporated

    ReplyDelete

Post a Comment