我可以重新打印假脱机文件吗?

时间:2012-04-25 09:40:35

标签: c# printing spool spooler

有没有办法重新打印假脱机文件?

如果有办法,我找不到任何例子或文章。

编辑:当我说重新打印时,我指的是同一台打印机

2 个答案:

答案 0 :(得分:1)

是的,你可以。 将完整的SPL文件读入字节数组并查看本文:

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

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

答案 1 :(得分:0)

对于EMF,我会考虑使用PrintDocument类和Metafile类。 PrintDocument的OnPrintPage事件处理程序公开了一个Graphics对象,它允许您呈现如下的EMF文件:

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

对于纯文本,您可以将其绘制到打印文档上的Graphics对象,但是您需要考虑文本换行和文本。线条,可能不值得努力。 我还怀疑,对于几乎所有的设备,如果你将端口9100下的纯文本发送到打印机,它也会打印得相当好。