如何将条形码图像插入PrintDialog?

时间:2015-11-17 11:24:59

标签: c#

我有这个程序,我打印一些托盘(物流)的信息,我需要添加条形码。我环顾四周,发现http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library似乎很有希望。

我添加了.dll参考,并添加了以下代码:

using BarcodeLib;

// Create barcode size 100, 100 with the ordernumber in type EAN13
    Barcode b = new Barcode(order.OrderNr);
    b.Encode(TYPE.EAN13, order.OrderNr, 100, 100);

现在我需要知道的是如何将其添加到页面上的特定位置。我目前添加文本的方式如下所示:

private void PrintLabel(PrintPageEventArgs e, Graphics g)
{
    marginTop = 8;
    marginLeft = 5;
    int row = marginTop;

    g.DrawString("Order nr: ", headerTitleFont, blackText, marginLeft, row);
    g.DrawString(order.OrderNr, headerTextFont, blackText, marginLeft + 120, row);
    row += 22;
    ...etc...

    Barcode b = new Barcode(order.OrderNr);
    b.Encode(TYPE.EAN13, order.OrderNr, 100, 100);
    // Print the label b here on position: marginLeft, row
}

1 个答案:

答案 0 :(得分:1)

根据given documentationEncode返回System.Drawing.Image

非常方便,因为它允许您使用以下方法将其简单地绘制到图形中:

Barcode b = new Barcode(order.OrderNr);
Image barcodeImage = b.Encode(TYPE.EAN13, order.OrderNr, 100, 100);

g.DrawImage(barcodeImage, marginLeft, row);