win2k/xp系统下,经常需要打印一些特殊规格单据,纸张已经在打印机的"服务器属性"里面添加好了,由于电脑平时也打印其他一些东西,所以不可能将新添加的纸张设置为默认打印纸,所以希望能实现如下效果:
如当前打印机默认打印纸为A4,但我们用vb编写的程序使用的打印纸并非A4,这时程序可以用代码选择我们需要的并且在当前打印机中存在的打印纸进行预览和打印,但没有修改系统的默认打印纸,其功能就类似word,excel软件一样,请问该如何实现?谢谢!
如当前打印机默认打印纸为A4,但我们用vb编写的程序使用的打印纸并非A4,这时程序可以用代码选择我们需要的并且在当前打印机中存在的打印纸进行预览和打印,但没有修改系统的默认打印纸,其功能就类似word,excel软件一样,请问该如何实现?谢谢!
不知道你是用什么报表工具,或者你用直接printer?
一般报表工具都有PaperSize属性的,设置这个属性就可以了
上述设置在WINXP应没问题,单需宽行打印机。
以下见MSDN解释:
Orientation 属性
返回或设置一个值,该值指出文档是以纵向还是横向的方式被打印。在设计时是不可用的。
语法
object.Orientation [= value]
Orientation 属性的语法包含下面部分:
部分 描述
Object 对象表达式,其值是“应用于”列表中的一个对象。
Value 一个决定页方向的值或常数,“设置值”中有详细描述。
设置值
value 的设置值为:
常数 值 描述
VbPRORPortrait 1 文档打印以纸的窄边作顶部。 VbPRORLandscape 2 文档打印以纸的宽边作顶部。
说明
这些常数在的对象浏览器中的 Visual Basic (VB) 对象库中列出。
注意 Printer 对象的此属性的效果依赖于打印机厂商提供的驱动程序。某些属性设置值可能不起作用,或者一些不同的属性设置值可能有相同的效果。可接受范围之外的设置值可能产生也可能不产生错误。详细信息,请参阅厂家的具体驱动程序的文档。