vb web打印机页面设置

feng_root 2008-06-29 04:50:41
各位好!
现在我要做的是 将web页面打印.每次不同的页面可能要设置不同的纸张大小.目前页面设置是依靠对话框来设置.我是想通过程序自动更改打印机的默认纸张大小.

1.我使用的是webbrowser的方式获取网页.我采用了addform的方式增加了自定义纸张.试图使用setform的方式设置打印机的默认设置. 但是不起作用.打印机的默认
纸张.

2.使用修改printer的 papersize,组合 printer.print 等命令,可以做到将文本按指定尺寸打印.但是我不知道怎样使用printer方式打印web页面.

...全文
812 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mao_Lee 2012-08-24
  • 打赏
  • 举报
回复
回复看看
huangmeibo 2011-04-14
  • 打赏
  • 举报
回复
如何通过代码更改printer_info信息 ? 我的邮箱是hmb@qq.com
zpf_cn 2008-07-11
  • 打赏
  • 举报
回复
我新发现,情况是这样的:如果在注册表里添加一项,IE就可以总是使用默认打印机打印。




微软有这样一篇技术支持文档:

“如果更改打印机 InternetExplorer 不使用默认系统打印机”

http://support.microsoft.com/kb/330628/zh-cn
feng_root 2008-07-09
  • 打赏
  • 举报
回复
感谢 zpf_cn的回答。
情况确实是这样的。
zpf_cn 2008-07-06
  • 打赏
  • 举报
回复

可以通过修改打印机的默认设置。(通过代码更改printer_info信息) 但是,在webbrowser实例环境中,即使更改了打印机的默认设置,
当前环境中的打印设置也不会改变。只能从新初始化一趟webbrowser。
feng_root 2008-07-01
  • 打赏
  • 举报
回复
我对网页的打印是这样的:

webbrowser1.navigate URL '导航到要打印的页面


在documentcomplete 事件中,开始打印:

WebBrowser1.ExecWB 6, 2


这样,就会将该页面送到打印机中进行打印。

我当时遇到的问题是,不想手工去页面设置中更改纸张规格,想通过程序去修改纸张规格,但确苦于找不到通过程序设置纸张规格的办法。
feng_root 2008-07-01
  • 打赏
  • 举报
回复
嗯,问题卡在打印。
我原来没有考虑抓图.听了您的建议后,我又查了一下关于图片转pdf的资料,道理比较深奥,对于我来说,感觉更难控制。

我昨天又查找了很多资料,目前,基本上解决了更改打印机默认纸张的问题。方式是通过api: setprinter来修改打印机的devmode结构,从而可以通过程序灵活的设置打印纸张的大小,布局(纵向,横向)。
feng_root 2008-06-30
  • 打赏
  • 举报
回复
谢谢supermanking关注及提出了很好的建议。

关于我的问题,我再补充一些细节:

我要打印的页面包含很多个frame。每个frame的框架尺寸是固定的。我打印网页最终还是要转为pdf格式的(只是将打印定向到了pdf打印机而已)。
现在还是人类 2008-06-30
  • 打赏
  • 举报
回复
我认为你没有把问题说清楚。
打印网页其实主要分两个部分:
1、抓图
2、打印
你到底问题卡在哪?
如果问题出在抓图:技术可以有甚多种,根据环境的不同和要求不同有不同的处理方法,
对有些需求而言可能还涉及到很深很底层的技术及应用。
对于打印而言,Printer对象是很好用的。如果要求更多,也可以看看API或相关的打印命令。
如果你不把问题说具体点,别人很难答的。
现在还是人类 2008-06-29
  • 打赏
  • 举报
回复
说简单也简单,说复杂也复杂
简单的情况就是有固定良好的环境抓图。
然后就把网页以图的方式输出给打印机对象来打印。
复杂的话也是抓图,要搞得好也不容易。
至于Printer对象的使用MSDN有很详细的说明,我认为最麻烦的还是抓图。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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