5

Is there a way to reprint a spool file?

I can't find any example or article to say if there is a way or not.

edit: when i say reprint it, i mean to the same printer

sgkin
  • 113
  • 2
  • 7
  • Is the spool file EMF format, or in the final PostScript / PCL format? – BBoy Apr 25 '12 at 19:51
  • I have two printers, that I want to do this. The first creates EMF format, and the other is Generic/Text Only – sgkin Apr 26 '12 at 07:31

2 Answers2

1

Yes you can. Read the complete SPL file into a byte array and have a look at this article:

http://support.microsoft.com/kb/322090/en-us

It shows you how to send raw data to a printer. Use that to send your byte array to the printer. Beware: a SPL file can actually contain various data types, such as EMF, PCL, ESC-P etc. Your must make sure that the format of the SPL file you have is appropriate for your specific printer.

svenv
  • 313
  • 2
  • 9
0

For EMF I would consider using the PrintDocument class and the Metafile class. PrintDocument's OnPrintPage event handler exposes a Graphics object that will allow you to render EMF files like such:

    void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
    {
        Metafile metafile = new Metafile("SampleMetafile.emf");
        e.Graphics.DrawImage(metafile, 10, 10);
    }

As for plain text you could just draw it to the Graphics object on the print document, but you would need to take into account text wrapping & lines, it may not be worth the effort. I would also suspect that with almost all devices if you send plain text down port 9100 to the printer that it would print reasonably well too.

BBoy
  • 1,063
  • 1
  • 10
  • 21