EPSONLQ-1600kIII型打印机,纸型:US STD FANfold。
现在当我在Printer.CurrentX=0的位置打印时,比我想要打印的位置要靠右,可是我设置Printer.CurrentX=-100的时候不起作用。
现在请问如何在通过Printer对象打印的时候设置纸的边距?
坛子里的相关帖子我也看过,可不是很明白。请各位大侠根据我提供的实际情况给出解决方案,多谢!

解决方案 »

  1.   

    你用什么报表工具?datareport的话有margins属性
    :topmargin,leftmargin,bottommargin,rightmargin
    来设置打印边距
      

  2.   

    没有用datareport,直接控制Printer对象按照坐标位置打印
      

  3.   

    我在2K和XP是这样处理的:
    在控制面板里设置好纸张大小,将Printer.ScaleLeft= -(左边距),Printer.ScaleTop=-(上边距),右边距和下边距不设置(因为我是打小票,知道打印内容不会超出我预期的边距),然后从0点开始打印,没有出过什么问题的。
    另外,你看你把1600KIII进纸的零点对齐了没有,这点没有齐的话,当然不准了。
      

  4.   

    设置scaleleft,也就是相对边距
      

  5.   

    打印的位置靠右可以用调节放纸的位置来解决,另外像 jtkk() 的那样固定好纸的位置在设计,至于页边距可以用一个变量来解决。比如页边距为3,则Printer.CurrentX=0的位置可表示为Printer.CurrentX=0+3.