如何用Barcode Professional SDK for .NET列印條形碼影像

鳥棲沙岩發表於2016-03-16

正如您可能知道的那樣,大多數.NET框架中的列印工作是由System.Drawing.Printing 名稱空間下的PrintDocument類執行的。Print-Document類被用來設定描述列印內容的字串、影像等的屬性。main函式PrintDocument類的特點是列印開始文件的列印程式。在Print方法被呼叫後,PrintDocument類將為每個被列印的頁碼新增一個PrintPage事件。這就是您應該將列印邏輯新增到該事件的事件處理程式的地方。

如果您的應用程式需要條形碼功能起作用,那麼列印包含條形碼影像的文件也是必須的。

Barcode Professional控制一個名為DrawOnCanvas的函式方法,該函式方法可以使你在任何GDI+ Graphics物件上繪製條形碼影像。PrintDocument's PrintPage事件展示了一個繪製頁面內容的Graphics物件,為了列印條形碼影像Graphics物件必須透過DrawOnCanvas方法。

最新版Barcode Professional SDK for .NET下載

如何使用PrintDocument類列印條形碼影像

這是最簡單的條形碼列印方案。例如,假設您已經為PrintDocument's PrintPage事件設定了一個事件處理程式,在下列的程式碼中,文件/頁面中處理器程式將會建立一個Barcode Professional物件並列印在指定位置生成的條形碼影像。

Private Sub printDocumentObject_PrintPage(sender As Object, e As  System.Drawing.Printing.PrintPageEventArgs)
    'Create a Barcode Professional object
    Dim bcp As New BarcodeProfessional()
    'Barcode settings
    bcp.Symbology = Symbology.Code39
    bcp.Code = "123456789"
    '...
    'Print the barcode at x=1in, y=1in using DrawOnCanvas method
    bcp.DrawOnCanvas(e.Graphics, New PointF(1F, 1F))
End Sub        
 private void printDocumentObject_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    //Create a Barcode Professional object
    BarcodeProfessional bcp = new BarcodeProfessional();
    //Barcode settings
    bcp.Symbology = Symbology.Code39;
    bcp.Code = "123456789";
    //...
    //Print the barcode at x=1in, y=1in using DrawOnCanvas method
    bcp.DrawOnCanvas(e.Graphics, new PointF(1f, 1f));
}          

如何使用PrintDocument類列印縮放的條形碼影像

DrawOnCanvas方法的一個版本使你可以透過特定的scale引數來列印縮放的條形碼影像。例如,如果你想把條形碼影像縮放至當前大小的50%,那麼scale引數必須指定為0.5;如果你想把條形碼影像擴大至當前大小的200%,那麼scale引數必須指定為2。

假設您已經為PrintDocument's PrintPage事件設定了一個事件處理程式,在下列的程式碼中,文件/頁碼中的處理器程式將會建立一個Barcode Professional物件並列印在指定位置生成的縮放比例為50%的條形碼影像。

Private Sub printDocumentObject_PrintPage(sender As Object, e As  System.Drawing.Printing.PrintPageEventArgs)
    'Create a Barcode Professional object
    Dim bcp As New BarcodeProfessional()
    'Barcode settings
    bcp.Symbology = Symbology.Code39
    bcp.Code = "123456789"
    '...
    'Print the barcode at x=2in, y=3in and scaled at 50% using DrawOnCanvas method
    bcp.DrawOnCanvas(e.Graphics, New PointF(2F, 3F), 0.5F)
End Sub
 private void printDocumentObject_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    //Create a Barcode Professional object
    BarcodeProfessional bcp = new BarcodeProfessional();
    //Barcode settings
    bcp.Symbology = Symbology.Code39;
    bcp.Code = "123456789";
    //...
    //Print the barcode at x=2in, y=3in and scaled at 50% using DrawOnCanvas method
    bcp.DrawOnCanvas(e.Graphics, new PointF(2f, 3f), 0.5f);
}      

如何使用PrintDocument類列印條形碼部分割槽域的影像

列印條形碼的部分割槽域是很常見的事,例如,要列印的條形碼影像被指定大小為1.5英寸x1英寸,DrawOnCanvas方法使你可以用barsAreaInInches引數指定目標區域來實現,請記住關於目標區域的以下幾點:

  1. 目標區域的尺寸(長度和寬度)是由BarcodeProfessional物件包含的BarcodeUnit屬性指定的。預設情況下為英寸。

  2. 目標區域包含: Width:包括條形碼條寬+左右的靜態區域(QuietZoneWidth屬性) Height:只包括條形碼條款的高度

假設您已經為PrintDocument's PrintPage事件設定了一個事件處理程式,在下列的程式碼中,文件/頁碼中的處理器程式將會建立一個Barcode Professional物件並列印生成的尺寸大小為2英寸x1英寸的條形碼影像。

Private Sub printDocumentObject_PrintPage(sender As Object, e As  System.Drawing.Printing.PrintPageEventArgs)
    'Create a Barcode Professional object
    Dim bcp As New BarcodeProfessional()
    'Barcode settings
    bcp.Symbology = Symbology.Code39
    bcp.Code = "123456789"
    '...
    'Print the barcode to fit an area of size 2x1in using DrawOnCanvas method
 
    bcp.DrawOnCanvas(e.Graphics, New PointF(0,0), New SizeF(2F,1F))
End Sub
   private void printDocumentObject_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    //Create a Barcode Professional object
    BarcodeProfessional bcp = new BarcodeProfessional();
    //Barcode settings
    bcp.Symbology = Symbology.Code39;
    bcp.Code = "123456789";
    //...
    //Print the barcode to fit an area of size 2x1in using DrawOnCanvas method
    bcp.DrawOnCanvas(e.Graphics, New PointF(0,0), New SizeF(2f,1f));
}  

相關文章