我在PictureBox里画一些条形码,将PictureBox的大小等于纸的大小,但是用打印机将PictureBox的内容打印出来都是向右偏移一点,而且不同的打印机偏移的大小也不一样,我用的代码如下:
Printer.PaintPicture Picture2.Image, 0, 0
Picture2.Image就是我要用到的PictureBox中的图片。
请问如何解决这个偏移的问题?

解决方案 »

  1.   

    设置Printer的PaperSize 属性
    自定义纸张,设置Printer的Height、Width 属性
      

  2.   

    常数 值 描述 
    VbPRPSLetter 1 信笺, 8 1/2 x 11 英寸。  
    VbPRPSLetterSmall 2 +A611 小型信笺, 8 1/2 x 11 英寸。 
    VbPRPSTabloid 3 小型报, 11 x 17 英寸。 
    VbPRPSLedger 4 分类帐, 17 x 11 英寸。 
    VbPRPSLegal 5 法律文件, 8 1/2 x 14 英寸。 
    VbPRPSStatement 6 声明书,5 1/2 x 8 1/2 英寸。 
    VbPRPSExecutive 7 行政文件,7 1/2 x 10 1/2 英寸。 
    VbPRPSA3 8 A3, 297 x 420 毫米  
    VbPRPSA4 9 A4, 210 x 297 毫米  
    VbPRPSA4Small 10 A4小号, 210 x 297 毫米 
    VbPRPSA5 11 A5, 148 x 210 毫米  
    VbPRPSB4 12 B4, 250 x 354 毫米  
    VbPRPSB5 13 B5, 182 x 257 毫米  
    VbPRPSFolio 14 对开本, 8 1/2 x 13 英寸。 
    VbPRPSQuarto 15 四开本, 215 x 275 毫米。 
      

  3.   

    我在打印前加了下面这句代码:Printer.PaperSize = vbPRPSA4
    打印出来的结果还是一样,还是向右偏
      

  4.   

    大小设的对吗?比如A4纸
    '纵向
            Picture1.Width = 210 * 56.7'毫米换算为缇
            Picture1.Height = 297 * 56.7
    '横向
            Picture1.Width = 297 * 56.7
            Picture1.Height = 210 * 56.7
      

  5.   

    PictureBox的大小肯定是对的,Printer没有设置Height、Width ,只设置了PaperSize