• TSC条码打印机C#例程(tsclib.dll调用) 【转】


    //----  program.cs

    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;

    using System.Runtime.InteropServices;
    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);
      
    }


    namespace TSCLIB_DLL_IN_C_Sharp
    {
        static class Program
        {
            /// <summary>
            /// 應用程式的主要進入點。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }

    //----Form1.cs

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    namespace TSCLIB_DLL_IN_C_Sharp
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                //TSCLIB_DLL.about();                                                                //Show the DLL version
                TSCLIB_DLL.openport("TSC TTP-344M Plus");                                          //Open specified printer driver
                TSCLIB_DLL.setup("100", "63.5", "4", "8", "0", "0", "0");                          //Setup the media size and sensor type info
                TSCLIB_DLL.clearbuffer();                                                          //Clear image buffer
                TSCLIB_DLL.barcode("100", "100", "128", "100", "1", "0", "2", "2", "Barcode Test"); //Drawing barcode
                TSCLIB_DLL.printerfont("100", "250", "3", "0", "1", "1", "Print Font Test");       //Drawing printer font
                TSCLIB_DLL.windowsfont(100, 300, 24, 0, 0, 0, "ARIAL", "Windows Arial Font Test"); //Draw windows font
                TSCLIB_DLL.downloadpcx("UL.PCX", "UL.PCX");                                        //Download PCX file into printer
                TSCLIB_DLL.sendcommand("PUTPCX 100,400,"UL.PCX"");                               //Drawing PCX graphic
                TSCLIB_DLL.printlabel("1", "1");                                                   //Print labels
                TSCLIB_DLL.closeport();                                                            //Close specified printer driver
               
            }
        }
    }

    //------ 另例

      [System.Runtime.InteropServices.DllImport("tsclib.dll")]
      private static extern void windowsfont(int a, int b, int c,int d,int e ,int f, string g ,string h);
      [System.Runtime.InteropServices.DllImport("tsclib.dll")]
      private static extern void openport(string printername);
      [System.Runtime.InteropServices.DllImport("tsclib.dll")]
      private static extern void closeport();
      [System.Runtime.InteropServices.DllImport("tsclib.dll")]
      private static extern void sendcommand(string command);
      [System.Runtime.InteropServices.DllImport("tsclib.dll")]
      private static extern void setup(string width,string height,string speed,string density,string sensor,string vertical,string offset);
      [System.Runtime.InteropServices.DllImport("tsclib.dll")]
      private static extern void clearbuffer();
      [System.Runtime.InteropServices.DllImport("tsclib.dll")]
      private static extern void printlabel(string Set,string Copy);


      private void button1_Click(object sender, System.EventArgs e)
      {
       openport("TSC TTP-343");
       setup("100","65","3","10","0","3","0");
       clearbuffer();
       windowsfont(50,30,70,0,0,0,"黑体","索书号:");
       printlabel("1", "1");
       closeport();
      }

    #region 调用TSC打印机打印条码
            /// <summary>
            /// 调用TSC打印机打印条码
            /// </summary>
            /// <param name="title">打印的标题</param>
            /// <param name="barCode">打印的条码编号</param>
            public static void TSC(string title, string barCode)
            {
                // 打开 打印机 端口.
                TSCLIB_DLL.openport(p_port);
                // 设置标签 宽度、高度 等信息.
                // 宽 94mm  高 25mm
                // 速度为4
                // 字体浓度为8
                // 使用垂直間距感測器(gap sensor)
                // 两个标签之间的  间距为 3.5mm
                TSCLIB_DLL.setup("94", "25", "4", "8", "0", "3.5", "0");
                // 清除缓冲信息
                TSCLIB_DLL.clearbuffer();
                // 发送 TSPL 指令.
                // 设置 打印的方向.
                TSCLIB_DLL.sendcommand("DIRECTION 1");
                // 打印文本信息.
                // 在 (176, 16) 的坐标上
                // 字体高度为34
                // 旋转的角度为 0 度
                // 2 表示 粗体.
                // 文字没有下划线.
                // 字体为 黑体.
                // 打印的内容为:title
                TSCLIB_DLL.windowsfont(176, 16, 34, 0, 2, 0, "宋体", title);
                // 打印条码.
                // 在 (176, 66) 的坐标上
                // 以 Code39 的条码方式
                // 条码高度 130
                // 打印条码的同时,还打印条码的文本信息.
                // 旋转的角度为 0 度
                // 条码 宽 窄 比例因子为 7:12
                // 条码内容为:barCode
                TSCLIB_DLL.barcode("176", "66", "39", "130", "1", "0", "7", "12", barCode);

    #region 请求sendcommand指令,打印二维码
               //功能:繪製QRCODE二維條碼
               //語法:
               //QRCODE X, Y, ECC Level, cell width, mode, rotation, [model, mask,]"Data string”
               //參數說明
               //X QRCODE條碼左上角X座標
               //Y QRCODE條碼左上角Y座標
               //ECC level 錯誤糾正能力等級
               //L 7%
               //M 15%
               //Q 25%
               //H 30%
               //cell width    1~10
               //mode  自動生成編碼/手動生成編碼
               //A Auto
               //M Manual
               //rotation  順時針旋轉角度
               //0 不旋轉
               //90    順時針旋轉90度
               //180   順時針旋轉180度
               //270   順時針旋轉270度
               //model 條碼生成樣式
               //1 (預設), 原始版本
               //2 擴大版本
               //mask  範圍:0~8,預設7
               //Data string   條碼資料內容
               #endregion
               string command = "QRCODE 176,8,Q,8,A,0,M2,S7,"" + barCode + """;
               TSCLIB_DLL.sendcommand(command);


                // 打印.
                TSCLIB_DLL.printlabel("1", "1");
                // 关闭 打印机 端口
                TSCLIB_DLL.closeport();
            }
    #endregion

  • 相关阅读:
    总结报告的感想
    第14、15週PTA題目的處理
    PTA題目的處理(三)
    PTA题目的處理(四)
    PTA題目的處理(二)
    PTA題目的處理(一)
    國慶和中秋的學習成果
    剛進入大學一個月的總結和作業
    【接口平台】too many values to unpack
    【接口平台】生成静态模拟数据
  • 原文地址:https://www.cnblogs.com/liujianshe1990-/p/10676388.html
Copyright © 2020-2023  润新知