C#PrintDocument打印图像

时间:2017-06-21 09:22:57

标签: c# zebra-printers printdocument

我一直试图通过标签打印机打印条形码图像。但使用SATO CG408打印机打印的图像非常小。这是目前的代码。

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));
    }

不确定为什么图像显示小。正在打印的图像是在不同的服务器上生成的。图像尺寸为2480像素×1748像素。

enter image description here

有人可以帮忙。过去几天试图解决这个问题。提前谢谢。

3 个答案:

答案 0 :(得分:0)

也许你应该设定方向...... 试试这个:

pd.DefaultPageSettings.Landscape = true; 

答案 1 :(得分:0)

尝试删除边距

class

并检查推托比率:2480px / 1748px~1.419,400px / 450px~0,889。所以也许试试:

int

答案 2 :(得分:0)

问题是打印机的纸张尺寸设置错误。这就是为什么印刷这么小。现在感觉很傻。谢谢大家的帮助。