哪位写过虚拟打印驱动程序呀

bongny 2005-09-08 04:30:47
我需要把N页的WORD文档转存为N个对应的BMP文件,听说只有这个东东能搞定,哪位能提供帮助啊?
...全文
686 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
bongny 2006-05-27
  • 打赏
  • 举报
回复
hxy2003(asfd),能否说说原理呀
yuliangpei 2006-05-26
  • 打赏
  • 举报
回复
DDK里面有例子,可以自己形成bmp文件。安装一个DDK看看。
bluesen 2006-05-26
  • 打赏
  • 举报
回复
有点意思。
hxy2003 2006-05-16
  • 打赏
  • 举报
回复
我写过。转成其它格式也没问题。
AmyLin_2001 2006-05-12
  • 打赏
  • 举报
回复
我也想了解这方面的知识,这里有对PCL了解的吗
会思考的草 2006-05-11
  • 打赏
  • 举报
回复
使用Unidrv render plugin的例子在%DDKROOT%\src\print\oemdll\oemuni里。
会思考的草 2006-05-11
  • 打赏
  • 举报
回复
补充两点:
安装需要一个inf文件,参考DDK里的plotter例子你可以很快照葫芦画瓢改一个inf文件出来;
打印机驱动还需要一个UI DLL,我不知道缺少这一个模块是否可以正常安装。如果不能安装就只能再添加一个UI DLL了。
会思考的草 2006-05-11
  • 打赏
  • 举报
回复
两种方法:1,从头开始写一个Printer Graphics DLL,2,使用Unidrv render plugin。
这两种方法差不多,不过后一种方法需要用到一点COM,其余的类似。

说说大概流程(以1为例),有几个函数是必须的:DrvEnableDriver(主入口点),DrvEnablePDEV/DrvDisablePDEV/DrvCompletePDEV,DrvEnableSurface/DrvDisableSurface,DrvStartDoc,DrvStartPage,DrvSendPage,DrvEndDoc:

入口函数DrvEnableDriver,检查DDI引擎版本,将本驱动支持的DDI函数指针数组报告给GRE;
GRE调用DrvEnablePDEV,在此你要对自己定义的PDEV分配内存,填写GDIINFO结构(DPI不要填的太高,你只是要打印成位图,96dpi就可以了,以避免banding),把打印机硬件信息返回给GRE;
GRE调用DrvEnableSurface,你要做的就是创建一个Surface,我们这里可以简单一点,使用EngCreateBitmap创建一个DIB位图,交由GDI管理,render的动作可以不用我们操心:),创建之后用EngAssociateSurface把Surface和PDEV进行关联,这里你可以通知GRE你想要hook住几个DDI函数(当然也可以不hook)。
接下来就是最重要的一步了,在DrvSendPage里,把每一页dump到磁盘上。Surface本身就是一个DIB位图,所以要dump是很easy的事情。不过位图头结构可能要手工写入。
Jonber 2006-05-10
  • 打赏
  • 举报
回复
vckbase上有一个微软虚拟打印机的驱动,好像可以打印成emf格式的,然后你再自己把emf转乘bmp就是了,后面的转换可以在http://www.codeproject.com/bitmap/ConvertEMFToBMP.asp找到代码.
lisypro 2006-04-22
  • 打赏
  • 举报
回复
UP
AthlonxpX86 2006-04-21
  • 打赏
  • 举报
回复
DDK->OEMDLL
gohappy_1999 2006-04-21
  • 打赏
  • 举报
回复
UP
uno 2006-04-21
  • 打赏
  • 举报
回复
http://bbs.zndev.com/htm_data/71/0401/58415.html
Featured 2005-09-14
  • 打赏
  • 举报
回复
没搞过,等AthlonXP吧
bongny 2005-09-12
  • 打赏
  • 举报
回复
自己再顶
bongny 2005-09-09
  • 打赏
  • 举报
回复
自己顶

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧