cominfomail
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2003-06-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:6528回复:14

如何做一个打印机的驱动,将发到打印机的内容输出到一个图像文件中

楼主#
更多 发布于:2003-06-06 11:41
就象Acrobat 的打印驱动一样,当用户调用打印时,将内容输出到一个图像文件中

最新喜欢:

xmuhlxmuhl dlscorpiondlscor...
Davyill
驱动牛犊
驱动牛犊
  • 注册日期2001-11-29
  • 最后登录2010-06-18
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-09 14:46
找找老的帖子
Let's Make Drivers Better
y5318
驱动中牛
驱动中牛
  • 注册日期2001-09-18
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分14分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-06-09 18:49
在98DDK下由CBitmap例子,可以去试试
lynhoo751030
驱动牛犊
驱动牛犊
  • 注册日期2003-06-19
  • 最后登录2003-07-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-24 09:19
2000 DDK下好像没有这反面的例子
hcheng_qi
驱动老牛
驱动老牛
  • 注册日期2002-11-07
  • 最后登录2006-04-13
  • 粉丝1
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-06-24 12:48
网上有源代码,sourceforge或者codeguru上那,见到过,只是现在不记得在哪个上了
| -''/"',___,,--''"`-,_¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡ `6_ 6¡¡)¡¡ `-,¡¡(¡¡¡¡),`-.__.`)¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡ /_Y_./',, _¡¡)¡¡`._¡¡`,``-..-'¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡_.'.`='¡¡ _ / / --'_.','¡¡¡¡¡¡¡¡¡¡¡¡ (il)'¡¡¡¡¡¡(li)''¡¡ ((!-'¡¡¡¡ÃÃÃÃ! ±ðÅÜ£¿!
gxjt
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2006-06-07
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-03 14:34
关注!有没有源代码?
[color=red] “阿弥陀佛,无上医王,舍此不求,是谓痴狂。” “一句弥陀,阿伽陀药,舍此不服,是谓大错。” 南无阿弥陀佛......[/color]
WEB110
驱动牛犊
驱动牛犊
  • 注册日期2003-10-28
  • 最后登录2005-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-11-26 08:33
网上有源代码,sourceforge或者codeguru上那,见到过,只是现在不记得在哪个上了  

sourceforge或者codeguru具体网址是什么?
谢谢
QQ:11584557 共同探讨技术问题
hcheng_qi
驱动老牛
驱动老牛
  • 注册日期2002-11-07
  • 最后登录2006-04-13
  • 粉丝1
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-11-26 17:41
www.sourceforge.net
www.codeguru.com
具体网址就不知道了,你可以search一下
| -''/"',___,,--''"`-,_¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡ `6_ 6¡¡)¡¡ `-,¡¡(¡¡¡¡),`-.__.`)¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡ /_Y_./',, _¡¡)¡¡`._¡¡`,``-..-'¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡_.'.`='¡¡ _ / / --'_.','¡¡¡¡¡¡¡¡¡¡¡¡ (il)'¡¡¡¡¡¡(li)''¡¡ ((!-'¡¡¡¡ÃÃÃÃ! ±ðÅÜ£¿!
hglzw
驱动小牛
驱动小牛
  • 注册日期2001-06-12
  • 最后登录2006-03-03
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-11-27 14:34
一种方法
利用rendering plug-ins hook FilterGraphics函数,可得到每一线点阵数据。
微软2000ddk有现成的例子,在src\\print\\oemdll\\oemuni下,编译好即可以使用这个动态库oemuni.dll。至于FilterGraphics函数里面怎样编程就看自己的了,反正每一线数据送出都会hook到buffer。如果你继续向spooler送,不要忘了用DrvWriteSpoolBuf函数。
如何安装通用打印机:
oemprint.inf
//
[Version]
Signature=\"$Windows NT$\"   //环境
Provider=%LZ%      //for example
LayoutFile=ntprint.inf
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
DriverVer=10/15/2003    //版本日期

[Manufacturer]
\"JHKJ\"               //for example
[JHKJ]
\"Mono Bitmap Driver\" = //for example
LZW.GPD,JHPRINTERMono_Bitmap_DA01,Mono_Bitmap_Driver

;
; Installer section(s) referenced above.
;

[LZW.GPD]
CopyFiles=@LZW.GPD    //你的设备描述文件
CopyFiles=@OEMUNI.INI  //这个很重要,
CopyFiles=OEMUNI
DataSection=UNIDRV_DATA
DataFile=LZW.GPD
Include=NTPRINT.INF
Needs=UNIDRV.OEM
[OEMUNI]
BITMAP.Dll           //你的打印机资源动态库
OEMUNI.Dll          //这个很重要,rendering plug-ins动态库
[DestinationDirs]
DefaultDestDir=66000   //目录

[SourceDisksFiles]
BITMAP.Dll = 1
LZW.GPD = 1
OEMUNI.DLL=1
STDNAMES.GPD=1    
[Strings]
LZ=\"JHKJ\"   //company
//
oemuni.inf
//
[OEMFiles]
OEMDriverFile1=OEMUNI.DLL
//
这样就行了。
提示:安装后OEMUNI.DLL在。。system32\\spool\\drivers\\win32x86\\3下
另一种方法
自己做一个port monitor,可在StartDocPort,writeport,readport,EndDocPort等函数中做处理。
但是buffer里的数据是从spooler来的数据命令混合流。你需要根据自己的格式处理数据,从中分离命令和数据,关于port monitor也有例子,自己看。good luck to you!
[img]http://www.kinboh.com/images/5130.jpg[/img]
zhangqihong
驱动牛犊
驱动牛犊
  • 注册日期2003-11-29
  • 最后登录2003-12-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-11-30 22:15
我也要解决这个问题,谁有源码啊???
beelzebub918
驱动牛犊
驱动牛犊
  • 注册日期2004-08-31
  • 最后登录2009-09-21
  • 粉丝2
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度63点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-08-23 10:36
W2kPrintDrvSample
liangli
驱动牛犊
驱动牛犊
  • 注册日期2007-11-07
  • 最后登录2007-11-09
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-11-07 18:22
正是我所求的,好心人发份代码给我,谢谢!!!
QQ:43814635
qmroom
驱动牛犊
驱动牛犊
  • 注册日期2008-05-17
  • 最后登录2008-05-31
  • 粉丝5
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-05-22 08:41
我也要
qmroom
驱动牛犊
驱动牛犊
  • 注册日期2008-05-17
  • 最后登录2008-05-31
  • 粉丝5
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2008-05-22 08:43
我在 www.codeguru.com  上下的例子, 但我用网络打印机打印的时候, 为什么打印服务不调用MyStartDocPort 函数阿? 而MyStartDocPort函数正式起到重定性作用的????
qmroom
驱动牛犊
驱动牛犊
  • 注册日期2008-05-17
  • 最后登录2008-05-31
  • 粉丝5
  • 关注0
  • 积分120分
  • 威望13点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2008-05-22 08:45
例子的具体地址是: http://www.codeguru.com/Cpp/W-P/printing/article.php/c5893
高人帮忙阿~!!!!!
游客

返回顶部