我可以重新打印假脱机文件?(Can I reprint a spool file?)

2019-09-16 18:10发布

有没有办法重新打印后台文件?

我找不到任何例子或文章说,如果有一种方法或没有。

编辑:当我说重印,我的意思是相同的打印机

Answer 1:

是的你可以。 阅读完整的SPL文件转换成字节数组,看看这篇文章:

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

它展示了如何将原始数据发送到打印机。 请使用您的字节数组发送到打印机。 请注意:一个SPL文件实际上可以包含各种数据类型,如EMF,PCL,ESC-P等你必须确保你有SPL文件的格式是适合您的特定的打印机。



Answer 2:

对于EMF我会考虑使用的PrintDocument类和图元文件类。 的PrintDocument的OnPrintPage事件处理程序公开一个图形对象,让你呈现EMF文件,就像这样:

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

至于纯文本你可以只绘制的图形上的打印文档对象,但你需要考虑到文本换行和行,它可能不值得努力。 我也怀疑,几乎所有的设备,如果你发送纯文本下来端口9100,它将打印还算不错过打印机。



文章来源: Can I reprint a spool file?