【问题标题】:PrintDocument adds an extra blank page upon a print jobPrintDocument 在打印作业中添加一个额外的空白页
【发布时间】:2017-12-06 19:39:27
【问题描述】:

当我将图像标签打印到斑马打印机时,标签会正常打印,然后会送入一个额外的空白标签,这随后会导致每个打印标签的上边距不对齐。

我在网上查看了很多已经发布的问题(即printdocument adds blank page),但没有解决方案。

我已经成功地测试了直接从 Windows 照片查看器以及标签程序本身打印图像文件。该问题仅在使用 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();

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

【问题讨论】:

  • 确保您的打印机未配置为打印分隔页。发布的代码对我来说没有重复问题,如果你打印到 PrintPreviewDialog,你会得到额外的页面吗?
  • PaperSize 很重要,它应该与装入打印机的标签纸相匹配。为什么它在 PhotoViewer 中运行良好,但在似乎没有选择任何纸张尺寸的程序中运行良好,很难猜测。
  • @LarsTech,谢谢!我仔细检查了没有设置分隔页,甚至尝试删除设置以根据标签间隙读取媒体,但没有运气。我将尝试打印预览对话框,看看会发生什么
  • @HansPassant 我尝试设置 PaperSize 但也没有任何运气。感谢您的建议!
  • 致电 Zebra 寻求支持,您正在使用他们的打印机驱动程序。

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


【解决方案1】:

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

非常感谢所有离开 cmets 并提供帮助的人 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-13
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2019-05-24
    相关资源
    最近更新 更多