论坛中的有识人士,在下最近遇到这样一个问题急需解决。我用printer对象写了一个报表,直接用printer.currentx,printer.currenty来控制打印输出的位置,打印纸使用的是A4。发现的问题是:在一台打印机(激光)中打印的时候,可以将文字打至距页尾0.5厘米的位置(这是我所需要的),而使用另一台打印机(喷墨),则只能将文字打至距页尾1.5厘米的位置就换页,我调整页边距但是没有用。请问该如何在程序中设置打印机才能使文字能打至距页尾0.5厘米的位置。切盼回复!感激不已

解决方案 »

  1.   

    会不会是喷墨的卷纸的问题,当你打到1.5CM的时候,电脑已经认为是0.5CM了。就像针式打印机,你卷多了还是卷少了,电脑都不知道。
      

  2.   

    我也是伤了脑筋了,我遇到的BUG起码有一堆了。绕吧!绕不过去就麻烦!不知有没有好的控件!TMMD   MS   这方面的资料也不好找。如你设定一个纸张的大小(papersize),打印的时候居然掉墨。你这个问题,可能需要对打印机的分辨率进行判断。采取一些补偿措施。总之,微软的printer 真的不好用。
      

  3.   

    我现在想通过printer对象来设定页边距,怎么设定呢?(我想直接在程序中设定,不需要弹出页边距设定的对话框)
      

  4.   

    printer.PrintQuality 分辨率
    printer.height 自定义纸张高度
    其实我用得也少好像要自己程序设定的这里用printer对象的少,太烦琐
      

  5.   

    victorycyz(中海),我知道你说是由于不同的硬件结构决定的,但是就没有好的解决办法了吗?就任其自然吗?
      

  6.   

    只要是象epson等喷墨打印机,它就是打不到这么底的位置呀,难道你可以叫Epson因为你的报表改动打印机的设计呀?
    你不会把报表设计得小一点吗?多留一些余白显得大方些。
      

  7.   

    早说嘛,我就是用的EPSON的喷墨打印机,所以很恼火,你这样说,我就知道了,在此多谢了。