我可以重新打印一个卷轴文件吗?

5
有没有一种方法可以重新打印一个spool文件?
我找不到任何例子或文章来说明是否有这样的方法。
编辑:当我说重新打印时,是指打印到同一台打印机。

打印输出文件是EMF格式,还是最终的PostScript/PCL格式? - BBoy
我有两台打印机,我想这样做。第一台创建EMF格式,另一台是通用/纯文本。 - sgkin
2个回答

1

你可以这样做。将完整的SPL文件读入字节数组,并查看此文章:

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

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

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);
    }

关于普通文本,您可以将其绘制到打印文档上的图形对象中,但是您需要考虑文本换行和线路,这可能不值得。我还怀疑,如果您将纯文本通过端口9100发送到打印机,几乎所有设备都会打印得相当好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接