【问题标题】:Printing PDF lables to a Zebra printer (420d)将 PDF 标签打印到 Zebra 打印机 (420d)
【发布时间】:2017-05-12 19:49:46
【问题描述】:

在我的网上商店中,我可以将送货单下载为 pdf 文件。我已经构建了一个使用FileSystemWatcher 的.NET 服务来监视我的“打印”文件夹。该服务将处理文件夹内的所有.pdf.zpl 文件。

所有.zpl 文件将使用RawPrinterHelper 类直接使用Windows 驱动程序打开并写入Zebra 420d 打印机。它按预期工作!

我的问题是.pdf 文件。当我从 Windows 10 中的浏览器手动将文件打印到 Zebra 420d 打印机时,它工作得非常好。但是当我尝试从我的服务中打印它们时,标签的尺寸会非常小。内容好像缩小了。

public static bool PrintPdf(string filepath, string printerName)
{
    try
    {
        var doc = new PdfDocument();
        doc.LoadFromFile(filepath);
        doc.PrinterName = printerName;
        doc.PrintDocument.Print();
        doc.Dispose();

        return true;
    }
    catch (Exception ex)
    {
        // More code ...
    }
}

我整晚都在谷歌上搜索并尝试了各种将 PDF 转换为 PNG/SVG 到 ZPL 的方法,但没有奏效。

如何使用 c# 将 PDF 格式的标签打印到 Zebra 420d 打印机?

编辑:我还尝试将 PDF 转换为 BMP,然后转换为 GRF(斑马母语)。还是行不通。我得到的只是一个空白页。

【问题讨论】:

  • 跟我想的一模一样,知道ZPL是什么的人不多:)

标签: c# pdf printing zebra-printers zpl


【解决方案1】:

我解决了!

我根本不需要任何转换。我只需要重新安装和调整打印机驱动程序设置并修改我的代码以使用新设置。

这是我的最终代码:

 public static bool Print(string filepath, string printerName)
    {
        try
        {
            var doc = new PdfDocument();
            doc.LoadFromFile(filepath);
            doc.PrinterName = printerName;

            var psize = new PaperSize("Custom Paper Size", 417, 1007);
            doc.PrintDocument.DefaultPageSettings.PaperSize = psize;
            doc.PageSettings.Rotate = PdfPageRotateAngle.RotateAngle180;

            doc.PrintDocument.Print();
            doc.Dispose();

            return true;
        }
        catch (Exception ex)
        {
            // More code ...
        }
    }

【讨论】:

  • 您能否详细说明您正在使用的库?
  • 只有这个 UWP 吗?我找不到 WPF 的 PdfDocument 类。
  • 看起来使用了Syncfusion Essential PDF。另一个 PDF 供应商也有相同的 API,但那是 Syncfusion 的盗版版本。
【解决方案2】:

从 nuget 包下载器下载 Spire.Pdf 包以访问 PdfDocument 类

【讨论】:

    猜你喜欢
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多