Batch Printing Crystal reports from VB.Net application

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



I have a vb.net application that reads a directory to get a list of
xml files that were generated by a third party app. Each xml file
contains the data for a different order and is routed to a different
printer that was predetermined and stored as one of the entries in the
xml file. My application opens the xml file, gets the printer id, a
couple of other pieces of information, and then binds the xml data to
a crystal report, and prints the report to the specified printer.
We're talking over 200 different printer id's across 2 states, and
thousands of orders a day.

My problem is that it's relatively slow...according to our users
anyway. It can take anywhere from 2 seconds ( which isn't bad at all
if you ask me) up to 20 seconds to print to the actual printer. The
bottleneck is that if someone prints 200 orders at one time, each of
those have to print before someone somewhere else can print their one
or two orders. I know that network traffic, printer hardware, and
other variables affect performance, but my users want me to work
beyond that (of course they do).

Here's my question. Is there a way to get my vb.net application to
move on after it has spooled the report instead of waiting for it to
print successfully ( or not and catch the exception). I have tried
exporting the reports to disk as *.pdf and *.doc files, and then
copying the files to the print server as a preformatted document.
That didn't get me much in terms of performance, and it doesn't seem
to work on every printer, as some printers only printed garbage. I
thought since the documents were already preformatted, that it
wouldn't need a special print driver to handle the generic document
type, but I was obviously wrong in making that assumption. My thought
was compiling the reports by printer and then doing a mass copy, but
vb.net still waits for each report to print before copying the next.
And then there's still the garbage out issue ( even though it's good
going in, I promise).

Our printers are 99% HP although we're looking at several other
brands, so that can only complicate matters. It would be nice if
everyone used the same high performance printers, but a lot of our
users are "limited" in what they can spend, but still want high
performance. It's like buying a yugo and expecting your mechanic to
make it work like a lamborghini...it just ain't gonna happen!

Oh, I forget, there's been an edict issued from the top down that
we're not getting any new software for the rest of 2007 or 2008. So,
I really need a .net whiz here and not a vendor.

Thanks for any and all suggestions.

Rock

.



Relevant Pages

  • Multi Site/Web Serverhosted XML Report loader
    ... I have a WAN network w/ Multi Web server hosting "Internal XML files" ... I would like to have the XML file hosted at ... reporting app and low responsibility and lag of transferring the XML ... report file to the main server. ...
    (microsoft.public.dotnet.xml)
  • Data field
    ... I have a report project that is linked to an xml file. ... has a picture on witch data field has been inserted. ... The xml element will always have 4 records with 3 childs and one of these ...
    (microsoft.public.vb.crystal)
  • Re: GDI+ on Windows Forms
    ... elements in the report once it has been drawn, so I don't need to handle any ... Also if I invalidate the listbox, ... reprocess the XML file again to re-draw everything. ... > If you only need to draw the items as a list, ...
    (microsoft.public.dotnet.framework.windowsforms)
  • SAX/Python : read an xml from the end to the top
    ... I currently have an xml input file containing lots of data. ... However, the other xml file ... Everytime we run the script, we track the new elements in the input ... _ report all the new events. ...
    (comp.lang.python)