正如您可能知道的那樣,大多數.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引數指定目標區域來實現,請記住關於目標區域的以下幾點:
目標區域的尺寸(長度和寬度)是由BarcodeProfessional物件包含的BarcodeUnit屬性指定的。預設情況下為英寸。
目標區域包含: 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));
}