2017-06-21 164 views
-1

我一直在嘗試通過標籤打印機打印條形碼圖像。但使用SATO CG408打印機打印的圖像非常小。這是目前的代碼。C#打印文檔打印圖像

static void Main(string[] args) 
    { 
     try 
     { 
      PrintDocument pd = new PrintDocument(); 
      pd.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("Custom", 100, 77); 

      //We want potrait. 
      pd.DefaultPageSettings.Landscape = false; 
      pd.PrintPage += PrintPage; 
      pd.Print(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
      Console.ReadLine(); 
     } 
    } 

    private static void PrintPage(object o, PrintPageEventArgs e) 
    { 
     //System.Drawing.Image img = System.Drawing.Image.FromFile(@"c:\test\test.png"); 
     //img.RotateFlip(RotateFlipType.Rotate90FlipNone); 
     //e.Graphics.DrawImage(img,0,0); 

     int printHeight = 450; 
     int printWidth = 400; 
     int leftMargin = 20; 
     int rightMargin = 0; 
     System.Drawing.Image img = System.Drawing.Image.FromFile(@"c:\test\test.png"); 
     img.RotateFlip(RotateFlipType.Rotate90FlipNone); 

     e.Graphics.DrawImage(img, new Rectangle(leftMargin, rightMargin, printWidth, printHeight)); 
    } 

不知道爲什麼圖像顯示很小。正在打印的圖像在不同的服務器上生成。圖像大小爲2480px×1748px。

enter image description here

能有一個人,請幫助。在過去幾天試圖解決這個問題。提前致謝。

回答

0

也許你應該設置你的方向...... 試試這個:

pd.DefaultPageSettings.Landscape = true; 
+0

已經嘗試過,它也沒有工作。 – dogwasstar

0

嘗試刪除利潤

int leftMargin = 0; 
int rightMargin = 0; 

,並檢查imgage比:2480px/1748px〜1.419,x 400像素/ 450像素〜 0889。因此,也許嘗試:

int printHeight = 420; 
int printWidth = 596; 
+0

試過了,仍然沒有工作:( – dogwasstar

0

問題是打印機的紙張尺寸設置有誤。這就是爲什麼它印刷得如此之小。現在感覺很傻。感謝所有的幫助。