PrintDocument在打印作业上添加一个额外的空白页

时间:2017-12-06 19:39:27

标签: c# .net printing zebra-printers printdocument

当我将图像标签打印到斑马打印机时,标签会正常打印,然后会输入一个额外的空白标签,然后这会使每个打印标签的上边缘错位。

我已经在线查看了许多已经发布的问题(例如printdocument adds blank page),没有解决方案。

我已经测试过直接从Windows Photo Viewer以及标签程序本身打印图像文件。只有在使用PrintDocument运行程序时才会出现此问题。以下是我的代码

    var printDoc = new PrintDocument {PrinterSettings = {PrinterName = printerName}};
    printDoc.PrintPage += (sender, args) =>
    {
        using(Image img = Image.FromFile(filePath))
        {   //file is 900x300, DPI 300, and print page is 3x1 inches
            args.Graphics.PageUnit = GraphicsUnit.Document;
            args.Graphics.DrawImage(img, 0, 0, img.Width, img.Height);
            args.HasMorePages = false;
        }
    };

    printDoc.Print();

我在绘制图像时尝试将宽度和高度设置为一个小得多的值,但它仍然会打印一个空白标签!任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我意识到了这个问题。这只会将程序作为Windows服务运行。它将覆盖您对本地映射打印机的任何设置,并使用默认的网络打印机设置。作为控制台应用程序运行程序按预期方式工作。解决方案是从其网络位置配置默认打印机!

非常感谢所有留下评论和帮助的人:)