我也知道应该用
printer.papersize=256
printer.height=10
printer.width=10
但是当我一运行程序时在printer.papersize=256上就出现了错误,我用的是SnagIt6虚拟打印的,我不知道是不是它不支持这一语句。
曾经我用过爱普生670的打印机也试过,可是纸张的大小并没有改变,比如原来是A4,执行完这几条语句后还是A4,并且width和height也没有变化,打印出的现象也证明是A4纸,我不知道是不是这个打印机不支持这些语句,还是我还缺少什么东西,望大家指点,我将万分感谢。

解决方案 »

  1.   

    谢谢 aohan(景升) ,谢谢 aohan(景升)
      

  2.   

    偶现在也遇到这个问题了,求救
    我设置打印机的width和scalewidth但是打印出来的东西,最右边的就是打不出来,好象它不在有效的打印范围似的,请问我该怎么样设置打印机的width和scalewidth啊
      

  3.   

    在打印机属性里设置自定义纸张大小,然后在程序中引用你设置纸张的ID号或常量。
    PaperSize 属性设置为VbPRPSUser或256。参考Windows SDK中DEVMODE的成员dmPaperSize的说明
      

  4.   

    我有一次在98下使用给papersize赋值为256不起作用,但是用常量就起作用了。在2000下我用ID号126是取用户自定义纸型,但在98下我就赋VbPRPSUser,然后打印预览OK,还有要注意的就是,如果你是用报表模板做的话,那么模板中的页面设置也应该改成用户自定义纸型,否则前面在程序中所做的无效。
      

  5.   

    给你一个贴看看http://community.csdn.net/Expert/topic/3615/3615439.xml?temp=.6382715
      

  6.   

    我改主意了,准备把开发环境改为.net,准备把整个程序改成C#的。
    关于我问的问题我已经知道了,是因为打印机的事,如果换个打印机就没事了。
    最后还是要谢谢大家对我的帮助。