hglzw
驱动小牛
驱动小牛
  • 注册日期2001-06-12
  • 最后登录2006-03-03
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1703回复:1

解决方案――如何做一个自己的虚拟打印机,取得点阵生成bitmap文件

楼主#
更多 发布于:2005-01-20 17:07
实现办法:自己做一个基于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即可。
[img]http://www.kinboh.com/images/5130.jpg[/img]
dean5441
驱动牛犊
驱动牛犊
  • 注册日期2005-01-21
  • 最后登录2005-01-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-21 14:41
哦?
喜欢海的宽广、蔚蓝、神秘....   __
游客

返回顶部