我现在在做一个发票的套打软件。
    Printer.ScaleMode = 6                           '设置打印的单位
    'Printer.Orientation = vbPRORPortrait           '纵向打印
    'Printer.Orientation = vbPRORLandscape           '横向打印
    Printer.PaperSize = vbPRPSA4                    '定义纸张大小为A4
    
    'Printer.Width = fVouchWidth * PrnUnit           '初始化打印纸的宽度
    'Printer.Height = fVouchHight * PrnUnit          '初始化打印纸的高度
    'Printer.ScaleWidth = 210
    'Printer.ScaleHeight = 297
    Printer.FontSize = 11这些是我打印的设置。我在能支持A3的打印机上打印一切正常,
如果我设置为A4来打的话,纵打也正确,
但是客户他想横打,我在A3的打印机上横打正常
但是客户的打印机只支持A4,如果我采用A3的设置打印的话,没反应
如果采用A4设置横打的话,宽度不够,打少了最右边的东西我现在的要求是,能在客户的打印机上设置足够长的宽度 刚才上面的代码只支持98,,在2000不支持。还有的就是,上面的那个横打设置好象没有效果。我用了别人的一个横打的函数来设置的。
其次,有没有一种方法临时改变打印设置的呀!我非常急,已经好几天没睡好觉了,希望大家能帮帮忙,,要分的话,我可以帮你们加到满意为止

解决方案 »

  1.   

    帮你顶!
    你让客户换个打印机驱动,比如我原来的松下1121只支持窄幅面的,缺字,换了LQ1600K就好了。
    很多打印机驱动都是兼容的。
      

  2.   

    我现在有遇到了一个新问题,客户的电脑是ESPON LQ 635K的,只支持不支持A3,A4以下。我现在的打印方法是,用程序在打印设置里面设置一个 “MyCustomForm”的纸张类型,规格是 
    24mm * 14 mm 这个格式是刚好能打印一个完整的发票,我用debug.print printer.width这个格式都与我设置的一致,保证没问题,因为我设置 14mm * 14mm 他只打印出一半,那么说明我的发票设置是采用了我 24mm * 14mm 的纸张大小。这些都是我在富士通的针式打印机上测试的结果,打印正常,后来我发给客户打印试下,同样的程序他们只能打印到A4纸的宽度,我晕倒。这些到底是什么问题? 知道的能略加指点下吗?设置打印机属性的代码比较长,这里就不贴出来了。。
      

  3.   

    UP,UP,UP帮你顶!!!!我是根仔!!!
      

  4.   

    你说的这个问题我遇到过,下面一些经验供参考
    1、ESPON LQ 635K的走纸在一定宽度后会变得不准,特别是使用原装的驱动,请使用LQ-1600K的驱动试试,很多情况能解决你的问题
    2、走纸不准一般与高度关系最大,而宽度你可以设置大一点,比如29cm,这与你打印发票没有关系的,而高度有时就要在他的打印机上调试了,当宽度较大,比如你的14cmm打印不准,你可以微调,比如14.1-14.5之间调一下3、如果是连续打印,可能设置成两张发票为一个走纸,即发票的高度为14*2,放两个发票页面,根据程序判断每页打印两张发票。
      

  5.   

    likesome(www.wenzh.com) 非常谢谢你给我的建议,这个建议简直是我的救命稻草,又给了我一点希望。原本以为什么希望都没有的。。打印机在客户那里比较远,所有我没去他那里调试,我明天试试采用 29mm 看下行不?现在的问题就是宽度不够,总是在A4那里断开。如果用29mm不行的话,我就再叫他换个驱动程序了,再说如果换驱动程序能行的话,我这个两个星期的劳动也就是白费的了。无论怎么说还是3Q再次请教下大家,除了以上方法还有其他方法吗?
      

  6.   

    2.做个ini文件存储打印高度,宽度,可以让客户自行调节这个我也想这么做,但是我现在只想在原来的基础上修改,烦都烦死了。。也想不到他的打印机居然是那么烦,,,如果我把257mm 设置为 258mm 他就没反应了。
      

  7.   

    我发票的的大小是 240mm * 140mm 的,在客户的打印机上面没有这样的打印纸张类型。
    我新建了一个 "mycustomform"的纸张类型 规格是250mm * 240mm 但是在他的打印机上使用不了,其他打印机都没问题,烦死了,,客户说给我一个月的时间搞定,我计划用C#来写一个,不知道会不会简单一点。
    还有在此说一句话,最近也发现这里有很多人问怎么设置打印默认、自定义纸张类型、或者打印的其他东西,我这里有具体的代码,需要的人可以MAIL给我,我就发给他 [email protected]很感谢在这里的各位热情的帮助,,谢谢
      

  8.   

    发一篇自己对于打印设置的总结 ,或许对于某些人有点帮助,,
    http://myrandy.cnblogs.com/articles/209781.html嘻嘻,,我的问题还没搞定