阅读:2058回复:10
Win98打印驱动问题
在Win98下的虚拟打印。
打印Word完全正常, 打印Excel只能打印出左上角一部分。 因为Word软件是自己设置页面,而Excel是读取驱动页面支持信息。 所以,我怀疑是 输出页面大小 小于 设置的页面大小的缘故。 为此,我改了一些代码,包括: 改了ExtDeviceMode 的 DEVMODE 结构中页面大小和分辨率 改了DeviceCapibilites 的 DEVMODE 结构中页面大小和分辨率 改了Enable 的 GDIINFO 结构中的页面大小和分辨率 改完后发现还是和原来一样,打印Excel只能打印出左上角一部分。 我没辙了,只能请各位大虾帮帮忙了。 :( |
|
沙发#
发布于:2003-08-11 14:14
你好!
你在Win98下做的虚拟打印机程序,可以拿出来给我们参考一下吗? 我也正在做这方面的,在此谢谢了! |
|
板凳#
发布于:2003-08-11 15:09
还有我在98下制作虚拟打印机
使用SetDefaultPrinter(\"Virtual Printer\");没有起作用 在2000下却可以,还望指教 |
|
地板#
发布于:2003-08-11 16:56
怎么添加打印机端口呀?
|
|
地下室#
发布于:2003-08-11 18:41
那应该是excel自身的问题
excel好像是根据页面的宽度来确定可以打印几列 也就是说,如果excel认为你这个页面的大小只能打印两列的话, 即使这两列你缩的很小,它也不会将第三列的内容和这两列的内容合并起来打印,因此你看到的好像是只能打印左上角一点。 你将你的列宽度加宽就应该可以看到效果了 |
|
|
5楼#
发布于:2003-08-19 13:50
源代码是不可能给大家的。这是公司的财产。:(
添加端口代码(Win 2000)如下: AddPort(NULL,NULL,\"Local Port\"); \"Local Port\" 这是打印监视服务器名称,都在注册表里有。 Win 2000的注册表:HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Print\\Monitors\\ 至于Win98的Excel打印问题是这样的: DDK 98默认是每英寸100分辨率。 如果我设置为每英寸600分辨率, 这时候只能打印宽1/6,高1/6的区域(1/36) 如果我设置为300 这时候只能打印宽1/3,高1/3的区域(1/9) 宽度、高度我也设置了,就是不起作用 |
|
6楼#
发布于:2003-08-19 13:54
关于Win98 的设置默认打印机
可以修改Win.ini文件 具体怎么改,你自己钻研去 使用API: WriteProfileString WritePrivateProfileString (两个里面忘了我用哪个了) |
|
7楼#
发布于:2003-08-19 15:34
谢谢你的给的提示
你说的改Win.ini可以看看配置后Win.ini内容吗? |
|
8楼#
发布于:2003-08-19 16:27
to LouYongZhi :
你好! 我在win.ini中修改如下: [windows] load= run= NullPort=None device==AGFA-AccuSet 1000,PSCRIPT,LPT2://我添加的 怎么重新启动后不能设置为默认,还是其他的打印机为默认 还望指教! |
|
9楼#
发布于:2003-08-19 18:32
在98下设置默认打印机我解决了
现在面临的是添加端口,还请多指教! 谢谢! |
|
10楼#
发布于:2003-08-26 13:12
添加端口:
1.修改Win.ini device==AGFA-AccuSet 1000,PSCRIPT,LPT2: 改成 device==AGFA-AccuSet 1000,PSCRIPT,MyPort 2.AddPort函数 |
|