How To Print Labels Using Bartender At Full Printer Speed 追蹤


Our web server based application uses Enterprise Automation and can print hundreds of identical labels including the barcodes at full printer speed by using the btFormat.PrintSetup.IdenticalCopiesOfLabel property. These are Godex printers with a real print rate of 6 or 8 inches per second depending on the model. All the printer drivers are the appropriate Seagull ones.


The problem is with printing hundreds of labels at a time that have unique information on them. This can be a special serialization with 2D barcode or other non-serialized information.


Filling of the label substrings is very quick. The majority of time is the btFormat.Print statement which takes between .23 and .35 seconds as measured using the System.Diagnostics.Stopwatch class.


An alternative used elsewhere in the application is ODBC to a SQL table and queuing the label for printing using PrintServer.TaskManager which works, but takes a significant amount of time to process before printing starts. As the label is linked to a specific SQL table, this would fail if multiple users try to print at the same time (common occurrence).


I experimented with SetDatabaseConnection without being able to create a unique connection to the uniquely named SQL table. I also considered using a uniquely generated text file and ReloadTextDatabaseFields, the timings were better, 0.1 seconds per label (test of 100 labels). That's from the btFormat.Print statement taking about 9.8 seconds and 0.2 seconds to create the text file.


Anyone gotten something similar to work and go fast?


Regards, Ira

2 意見

Shotaro Ito
評論操作 永久連結

Try Commander + Commander script.

Your web app need to create simple commands to specify btw document path and printer, then add CSV text database rows after that.

(you can have 100 rows of data in one trigger fie.)

That's basically the same as your ReloadTextDatabaseFields approach.

In Enterprise Automation edition, you can run multiple bartender process for one Commander script task, which specified from command handler setup.


Commander script is found in Example 2 of Commander white paper.


Also try using device font (printer font) rather than truetype font.

Legacy Poster
評論操作 永久連結

I appreciate the suggestion and will consider it for the next major version of our application. Currently, we are doing SQL manipulations after a successful print and then need the ASP.NET thread that did the print to kick off other long running threads when the print job succeeds. Integrating Commander is beyond the time I have for the current release.


Thanks, Ira