2010-06-01 66 views
1

我在这里遇到了一些麻烦,希望你能帮助一位程序员。如何从c#中的源获取“打印机就绪字节”?

我具有接收一个指向原始字节(加上长度和东西)和原始数据发送到所述的打印机的应用程序。这很重要,我别无选择,只能使用此方法来完成任何打印。

如果我发送一个原始字符串,它会没有问题打印。但是,我需要能够打印格式化文本,图像等。所以,事情是...我想能够从给定的来源获得打印机准备好的字节(可能是PDF或HTML,并不重要,因为只要它包含格式化文本和/或图像)。这就像“分裂”像这样的打印命令:

一)打开文件并读取数据 b)加载打印机数据到内存 C)发送字节到打印机

很显然,我有一个)和c)覆盖,它是b)那个破了我的头。

有什么想法?

在此先感谢您的帮助。

回答

1

你需要的是打印机处理器接收打印命令,并创建格式化数据。你不会希望这个自己做,我希望(格式化到打印机就绪的数据,即使你知道PS,AFP,PCL或它是什么时下,由心脏,是非常辛苦和个月的工作)。相反,应该使用Windows的打印机处理器。如果你在Windows上(我假设,因为你使用C#,但也许你使用Mono),你可以发送任何打印机命令到一个文件中(只需使用FILE:端口)。要创建格式化的数据,使用您有任何PDF库,或使用RTF,这是由.NET Framework的支持,并将其发送到选定的打印机(这应该与对应用程序的另一端相同的打印机)这是在端口FILE上配置的。

原始打印数据然后在磁盘上,这你根本就作为一个字节数组读入和使用你已经得到了应用程序发送到您的实际打印机。

相关问题