回 帖 发 新 帖 刷新版面

主题:如何设置 printer 旋转180度打印

单位里印刷好了信封,已封口的地方比较硬,容易进纸,而且进纸后定位准确,未封口处纸软、薄,进纸时容易错位,定位不准。因为要定位准,就以封口处较硬纸面进纸,可是打印机在正常情况下,刚好180度相反打印到信封上。在控制面板中可以将打印机版面旋转180度设置,这样打印就正确了。我想不用设置修改打印机默认值,用VB程序直接设置 VB中的 printer对象 ,怎奈咱功力有限,资料查了,也实验了多次就是180度没转过来。网上高手云集,可否赐教?
谢谢了!

回复列表 (共4个回复)

沙发

你资料是怎么查的!网上这么多的例子。
看微软官方的例子吧。http://support.microsoft.com/kb/175535/zh-cn
记得以前我也遇到过类似的需求,不过是把字体旋转输出到PictureBox中。先创建字体,再selectObject(),然后直接用pictureBox.Print就可以输出旋转的字体。
但今天换成Printer后,直接用Printer.Print打印出的字体却不是旋转后的字体。
看了上面那篇文章,找到了答案
[quote]The key elements are using the TextOut API instead of Printer.Print and not referencing the printer object directly while setting up the font and printing with it. If you use TextOut with "Printer.hDC" instead of a local variable, it will fail. Any reference to a printer object property or method is a use of the printer object and will cause the printer object to reset its font/pen/brush. Therefore, the values of all printer object properties that you need to use with the new font/pen/brush must be saved into variables before using SelectObject, and then only use the variables[/quote]

PS:英文版的,http://support.microsoft.com/kb/175535/en-us。推荐看这个,中文版的翻译得太臭了..

板凳

非常谢谢!API参数让我头晕,仔细研究研究。

3 楼

我也正需要这个,需要大家帮助.QQ:994533710
email:z410426219@126.com
先谢了

4 楼

打印机就有这个功能,怎么用程序控制???

我来回复

您尚未登录,请登录后再回复。点此登录或注册