阅读:1703回复:1
解决方案――如何做一个自己的虚拟打印机,取得点阵生成bitmap文件
实现办法:自己做一个基于unidrv的驱动
1。 w2k 自己做一个gpd文件,并和资源一块编译成一个资源动态库。(详见ddk例子源代码oemdll)。 win98 用unidrv软件做一个minidriver 2。 w2k 自己做一个解释插件(plug_in),用FilterGraph函数可得到每1行数据.字节数就是位图的宽度,可记录行数,当前页打印结束后总行数就是位图高度。 win98 也是利用FilterGraph callback函数。 3。用GetJob可得到打印的文档名。 4。自己做一个虚拟端口,不必是打印机输出什码数据。只是一个空端口。参看ddk的localmon例子。 5。用一个buffer纪录总数据,当前也打印完后,即可自己想办法做成一个位图,办法很多,在这里我就不想说了。 另外98也可参看例子bitmapdrv,用dump callback函数。 如果想从languge monitor 或port monitor获得点阵数据,可以不必翻译插在数据流中的命令,自己在做gpd文件时,将命令全删掉。系统要求非的必要使用命令的,可用cmdcallback将命令数据改为空。 98同样适用。 至于安装看ddk即可。 |
|
|
沙发#
发布于:2005-01-21 14:41
哦?
|
|
|