怎样选择非默认打印纸进行打印,但不修改默认打印纸,该如何处理

怎样选择非默认打印纸进行打印,但不修改默认打印纸win2k/xp系统下,经常需要打印一些特殊规格单据,纸张已经

怎样选择非默认打印纸进行打印,但不修改默认打印纸
win2k/xp系统下,经常需要打印一些特殊规格单据,纸张已经在打印机的 "服务器属性 "里面添加好了,由于电脑平时也打印其他一些东西,所以不可能将新添加的纸张设置为默认打印纸,所以希望能实现如下效果:
如当前打印机默认打印纸为A4,但我们用vb编写的程序使用的打印纸并非A4,这时程序可以用代码选择我们需要的并且在当前打印机中存在的打印纸进行预览和打印,但没有修改系统的默认打印纸,其功能就类似word,excel软件一样,请问该如何实现?谢谢!

[解决办法]
这个需要结合你使用的打印方式才能有答案.
不知道你是用什么报表工具,或者你用直接printer?
一般报表工具都有PaperSize属性的,设置这个属性就可以了
[解决办法]
有轍~
可以用代碼自定義紙張大小,再調用自定義的紙張
我記得我有用過,不過代碼也忘了,有空幫你找找
[解决办法]
Printer.PaperSize = vbPRPSA3
上述设置在WINXP应没问题,单需宽行打印机。
[解决办法]
此外VB下Printer对象默认纸张是纵向打印的,故即使设置Printer.PaperSize = vbPRPSA3,它的横向打印最大宽度297毫米,想突破297毫米,则须转向打印.使用Printer对象的Orientation 属性,设置Printer对象的Orientation 属性为2 ,则文档打印以纸的宽边作顶部,A3纸仍按纵向走纸,但能达到宽420长297的打印效果。这些调用仅是执行VB的打印代码时起作用,结束打印系统仍维持原设置.以上是使用代码打印VB的数据查询结果,未使用vb自带的数据报表.
以下见MSDN解释:
Orientation 属性
返回或设置一个值,该值指出文档是以纵向还是横向的方式被打印。在设计时是不可用的。
语法
object.Orientation [= value]
Orientation 属性的语法包含下面部分:
部分 描述
Object 对象表达式,其值是“应用于”列表中的一个对象。
Value 一个决定页方向的值或常数,“设置值”中有详细描述。
设置值
value 的设置值为:
常数 值 描述
VbPRORPortrait 1 文档打印以纸的窄边作顶部。

VbPRORLandscape 2 文档打印以纸的宽边作顶部。
说明
这些常数在的对象浏览器中的 Visual Basic (VB) 对象库中列出。
注意 Printer 对象的此属性的效果依赖于打印机厂商提供的驱动程序。某些属性设置值可能不起作用,或者一些不同的属性设置值可能有相同的效果。可接受范围之外的设置值可能产生也可能不产生错误。详细信息,请参阅厂家的具体驱动程序的文档。

[解决办法]
在系统中装两个打印机,一个默认的。一个非默认的。在打印前修改非默认打印机系统配置,然后再将数据发送到上面。