C# TSC打印二維碼和條形碼的實(shí)現(xiàn)方法
效果圖
開發(fā)、使用環(huán)境說明
安裝TSC_7.3.8_M-3.exe打印機(jī)驅(qū)動(dòng),安裝時(shí)選擇對應(yīng)的ttp 244 pro
將TSCLIB.dll復(fù)制到C:\Windows\system
驅(qū)動(dòng)安裝說明
選擇下一步
選擇安裝路徑,默認(rèn)即可,選擇下一步
選擇安裝打印機(jī),選擇下一步
選擇其他,點(diǎn)擊下一步
選擇對應(yīng)的打印機(jī)型號(hào),點(diǎn)擊下一步
選擇USB端口,點(diǎn)擊下一步
直接默認(rèn)即可,點(diǎn)擊下一步
驅(qū)動(dòng)安裝完成!
TSCLIB.cs代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices; namespace WindowsFormsPrint { public class TSCLIB_DLL { [DllImport("TSCLIB.dll", EntryPoint = "about")] public static extern int about(); [DllImport("TSCLIB.dll", EntryPoint = "openport")] public static extern int openport(string printername); [DllImport("TSCLIB.dll", EntryPoint = "barcode")] public static extern int barcode(string x, string y, string type, string height, string readable, string rotation, string narrow, string wide, string code); [DllImport("TSCLIB.dll", EntryPoint = "clearbuffer")] public static extern int clearbuffer(); [DllImport("TSCLIB.dll", EntryPoint = "closeport")] public static extern int closeport(); [DllImport("TSCLIB.dll", EntryPoint = "downloadpcx")] public static extern int downloadpcx(string filename, string image_name); [DllImport("TSCLIB.dll", EntryPoint = "formfeed")] public static extern int formfeed(); [DllImport("TSCLIB.dll", EntryPoint = "nobackfeed")] public static extern int nobackfeed(); [DllImport("TSCLIB.dll", EntryPoint = "printerfont")] public static extern int printerfont(string x, string y, string fonttype, string rotation, string xmul, string ymul, string text); [DllImport("TSCLIB.dll", EntryPoint = "printlabel")] public static extern int printlabel(string set, string copy); [DllImport("TSCLIB.dll", EntryPoint = "sendcommand")] public static extern int sendcommand(string printercommand); [DllImport("TSCLIB.dll", EntryPoint = "setup")] public static extern int setup(string width, string height, string speed, string density, string sensor, string vertical, string offset); [DllImport("TSCLIB.dll", EntryPoint = "windowsfont")] public static extern int windowsfont(int x, int y, int fontheight, int rotation, int fontstyle, int fontunderline, string szFaceName, string content); //打開打印機(jī)端口,并進(jìn)行相關(guān)設(shè)置 public static void openportExt() { TSCLIB_DLL.openport("TSC TTP-244 Pro");//找打打印機(jī)端口 TSCLIB_DLL.sendcommand("SIZE 60 mm,30 mm");//設(shè)置條碼大小 TSCLIB_DLL.sendcommand("GAP 2 mm,0");//設(shè)置條碼間隙 TSCLIB_DLL.sendcommand("SPEED 4");//設(shè)置打印速度 TSCLIB_DLL.sendcommand("DENSITY 7");//設(shè)置墨汁濃度 TSCLIB_DLL.sendcommand("DERECTION 1");//設(shè)置相對起點(diǎn) TSCLIB_DLL.sendcommand("REFERENCE 3 mm,3 mm");//設(shè)置偏移邊框 TSCLIB_DLL.sendcommand("CLS");//清除記憶(每次打印新的條碼時(shí)先清除上一次的打印記憶) } //打印在用車檔案二維碼 public static void printVehicleCode(string str_hetong, string str_zhengjian, string str_name) { char space = (char)(32); string codeValue = str_hetong + space + str_zhengjian; TSCLIB_DLL.sendcommand("CLS");//需要清除上一次的打印記憶 TSCLIB_DLL.sendcommand("QRCODE 260,20,H,7,A,0,M2,S7,\"" + codeValue + "\""); TSCLIB_DLL.windowsfont(240, 100, 24, 180, 0, 0, "黑體", str_hetong); TSCLIB_DLL.windowsfont(240, 140, 24, 180, 0, 0, "黑體", str_zhengjian); TSCLIB_DLL.windowsfont(240, 180, 24, 180, 0, 0, "黑體", str_name); TSCLIB_DLL.printlabel("1", "1"); } //打印財(cái)務(wù)條形碼 public static void printFinanceCode(string str_Date, string str_siteNo, string str_siteName, string str_Num, string str_Name, int count) { for (int i = 0; i < count; i++) { char Num = (char)(i + 65); char space = (char)(32); string value = str_Date + space + str_siteNo + space + str_Num + space + Num; string txt = str_Date + space + str_siteName + space + str_Num + space + str_Name + space + Num; TSCLIB_DLL.sendcommand("CLS");//需要清除上一次的打印記憶 TSCLIB_DLL.barcode("40", "50", "128", "160", "0", "0", "2", "2", value); TSCLIB_DLL.windowsfont(440, 35, 24, 180, 0, 0, "黑體", txt); TSCLIB_DLL.printlabel("1", "1"); } } //關(guān)閉打印機(jī)端口 public static void closeportExt() { TSCLIB_DLL.closeport(); } } }
打印二維碼:
private void print_Click(object sender, EventArgs e) { try { print.Enabled = false; base.DoWork(DoPrint); print.Enabled = true; } catch (Exception ex) { // FileLogHelper.WriteInfoLog(ex.ToString()); MessageBox.Show(ex.ToString()); } } private void DoPrint(object sender, EventArgs e) { DataGridViewSelectedRowCollection rows = ArchivesView.SelectedRows; if (rows.Count <= 0) { MessageBox.Show("請先選擇數(shù)據(jù)項(xiàng)!"); return; } TSCLIB_DLL.openportExt(); foreach (DataGridViewRow dr in rows) { TSCLIB_DLL.printVehicleCode(dr.Cells[1].Value.ToString(), dr.Cells[2].Value.ToString(), dr.Cells[3].Value.ToString()); } TSCLIB_DLL.closeportExt(); }
C#調(diào)用dll提示"試圖加載格式不正確的程序"解決方法
程序在32位操作系統(tǒng)上運(yùn)行正常,在64位操作系統(tǒng)上運(yùn)行讀卡功能提示”試圖加載格式不正確“。
程序在64位操作系統(tǒng)上運(yùn)行正常,在64位操作系統(tǒng)上運(yùn)行讀卡功能提示”試圖加載格式不正確“。
--------------------------------------------------------------------------------------------
點(diǎn)擊項(xiàng)目屬性,把目標(biāo)平臺(tái)Any CPU 設(shè)置為X86(32位操作系統(tǒng))或者X64(64位操作系統(tǒng))
按照上面解決方案可能會(huì)有下面的問題:
C# form繼承問題 : 提示 無法加載基類 ;請確保已引用該程序集并已生成所有項(xiàng)目。
把 生成 - 目標(biāo)平臺(tái) 改成 x86或者Any CPU ,重新生成一次,F(xiàn)orm可正常編輯。
所以新的解決方案是:選擇Any CPU 把下面打勾的去掉
以上這篇C# TSC打印二維碼和條形碼的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。
上一篇:C#開發(fā)答題贏錢游戲(自動(dòng)答題器)
欄 目:C#教程
下一篇:C#實(shí)現(xiàn)合并及拆分PDF文件的方法
本文標(biāo)題:C# TSC打印二維碼和條形碼的實(shí)現(xiàn)方法
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5283.html
您可能感興趣的文章
- 01-10C#二維數(shù)組基本用法實(shí)例
- 01-10C#實(shí)現(xiàn)的ZPL條碼打印類完整實(shí)例
- 01-10C#完成word文檔打印的方法
- 01-10C#條碼生成及打印實(shí)例代碼
- 01-10C#使用第三方組件生成二維碼匯總
- 01-10使用Spire.Barcode程序庫生成二維碼的實(shí)例解析
- 01-10C#利用QrCode.Net生成二維碼(Qr碼)的方法
- 01-10C#通過第三方組件生成二維碼(QR Code)和條形碼(Bar Code)
- 01-10.NET C#利用ZXing生成、識(shí)別二維碼/條形碼
- 01-10詳解二維碼生成工廠


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實(shí)例總結(jié)