FastReport快速實現條形碼,二維碼面單打印


一、什么是FastReport?

FastReport是功能齊全的報表控件,使開發者可以快速並高效地為·NET/VCL/COM/ActiveX應用程序添加報表支持。

FastReport有很多產品,如FastReport.Net、FASTREPORT VCL等,這里不一一去做概述,描述下FastReport.Net的具體使用。

FastReport.Net

A、是一款適用於Windows Forms, ASP.NET和MVC框架的功能齊全的報表分析解決方案。

B、可用在Microsoft Visual Studio 2005到2015,支持.Net Framework 2.0到4.x。

C、2013版支持AJAX,雲存儲,地圖編輯器和自定義標簽。

 

二、使用FastReport可以完成什么功用?

打印預覽、打印設計、導出PDF、根據數據源生成報表等

 

三、如何使用FastReport?

(1)下載安裝

下載地址:鏈接: https://pan.baidu.com/s/1wAx3A-chefjgVUwWjvzDLw  密碼: 2dca

解壓后,見以下文件:

(2)打開程序,並進行界面漢化

A、雙擊Demo.exe打開程序

B、在彈出窗體中,點擊設計按鈕

 彈出設計界面:

C、點擊菜單File-- Select Language

彈出界面如下:界面已漢化

 

(3)設計模板:

 A、根據情況,可適當刪除畫布中的位置,只保留Data數據區部分,刪除方式見下圖:

在對應模塊的空白區域,點擊右鍵--刪除即可:

B、設置頁面的尺寸:(很重要,與打印的面單紙大小要一致,如A4紙,或自定義的尺寸)

 

彈出設置窗口,如下:

點擊確定后,畫布會自動調整尺寸大小

C、點擊左側的工具,進行排版設計(此處以一個條形碼做為案例):

點擊條形碼按鈕,彈出編碼方式,這里選擇Code128(原因是生成的數據會做壓縮,條形碼更簡潔,見下圖有對比)

點擊后,把鼠標移動到data編輯區,即可以看到一個條形碼隨鼠標移動:

如需添加文字,左側的工具欄也有對應的按鈕。

(4)保存模板:.frx后綴名

(5)電腦連接好打印機,安裝好驅動,保證在打印機列表中,可以選擇。

(6)在項目中使用模板,進行打印操作

 1 private bool GodownEntryPrint(string instorageNumber, string localhostCode)
 2         {
 3             try
 4             {
 5                 //創建Report對象
 6                 var report = new Report();
 7                 //獲得模板的路徑
 8                 string reportLabel = Application.StartupPath + @"\" + "Report\\GodownEntry.frx";
 9                 //判斷文件是否存在
10                 if (!File.Exists(reportLabel))
11                 {
12                     MessageTool.Show("標簽模板不存在!請先獲取標簽模板!");
13                 }
14                 //清空
15                 report.Clear();
16                 //加載報表模板
17                 report.Load(reportLabel);
18                 //獲取模板中,對應的TextObject節點-替換模板內容
19                 var textObject = report.FindObject("Text2") as TextObject;
20                 if (textObject != null) textObject.Text = localhostCode;   //庫位編碼
21 
22                 //同理:一/二維碼文本替換
23                 var barcodeObject = report.FindObject("Barcode1") as BarcodeObject;
24                 if (barcodeObject != null)
25                 {
26                     barcodeObject.Text = instorageNumber;   //入庫單號
27                     //更改一維碼的生成方式為Code128碼
28                     barcodeObject.Barcode = new Barcode128();
29                 }
30 
31                 //預覽面單
32                 //report.Show();
33                 //默認不顯示打印機選擇頁面
34                 report.PrintSettings.ShowDialog = false;
35                 //獲取打印機的名稱,這里是通過封裝的方法去獲取打印機名,這里可以直接指定“打印機名稱”; 
36                 string strPrintName = PrinterHelper.GetPrintSetting("LocationPrint");
37                 if (string.IsNullOrWhiteSpace(strPrintName))
38                 {
39                     MessageTool.Show("未設置打印機!");
40                     return false;
41                 }
42                 //當前操作打印機
43                 report.PrintSettings.Printer = strPrintName;
44                 //啟動打印
45                 report.Print();
46             }
47             catch (Exception)
48             {
49                 return false;
50             }
51             return true;
52         }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM