Crawford

Crawford

  • NA
  • 1
  • 0

printing question

Apr 25 2006 2:45 PM
The backstory is a little long, but bear with me. I just replaced a guy that left the company I work for. I get calls from others in the company asking me to send files to the 4 plotters in the data center. The guy before me had written some sloppy programs for doing small tasks, one of which was to help with plotting. Here's how it works: The program is associated with certain file extensions. We simply double-click the files that people need plotted and the program opens with the filename as an argument. There are 4 dropdown listboxes with numbers indicating how many copies of the file you want to send to each plotter. Once the numbers are set, you click the Print button and the program calls a batch file with the filename and number of copies for each printer as arguments. The batch file simply checks the numbers it receives and issues a copy /b %1 \<printersharename> for each plotter. If a plotter is to output more than one copy, though, the argument for the copy command becomes %1 + (%1 + repeated as many times is needed), ie. for 4 copies, it sends "copy /b %1 + %1 + %1 + %1 \myprintershare". This is stupendously inefficient in the case of multiple copies of large (60-150MB) plot files because instead of the plotter being told to print four copies of 1 file, it's being told to download 1 file four times.

My question: how can I print these files simply using C#? If necessary, all plotters can be added to the local machines that use the plot program. Also, does there have to be support for each independent file type? The most common types we plot are .plt and .prt files, but there are a few other types, as well. Does each format need its own print function?

I'm not asking for the specific
code for this (unless it's fairly straight-forward), but just to be pointed in the right direction. I'm fairly new to the .Net framework and don't know what APIs, etc are necessary for this kind of project.  Thanks!