zoukankan      html  css  js  c++  java
  • c# .net 调用TSC打印机

    TSC标签打印机传统的调用方法是利用 TSCLIB.DLL这个文件进行打印。这个DLL文件是C++写的,在.NET环境中只能通过声明DLL函数的方法进行调用。最近在查询TSC官网的时候才现TSC发布了.NET环境下用的DLL文件,可以直接在项目中通过引用的方式实现调用。这个文件比TSCLIB.DLL的优势在于自带处理各种字符集的方法,不用打印时各种转码。而且打印图片也更简单(没有测试)。

    DLL文件下载地址为:https://www.chinatsc.cn/SC/support/support_download/TX200_Series/DLL--_SDK  打开页面后选择[软件开发工具包]-[DLL/SDK]-[Windows Framework DLL (32 bit & 64 bit)]

    但是官网上没有调用方法的范例,也没有相关的文档,只有一个光秃秃的DLL文件。这里真要吐槽一下TSC的文档,其本上都是10年前写的,产品更新文档却不更新。自己摸索了一下,实现了一个打印二维码,解决了直接调用TSCLIB.DLL时,二维码内容含中文时扫出来有乱码的问题。 

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Runtime.CompilerServices;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using log4net;
    using TSCSDK;
    
    namespace CBSP
    {
        public class PrintHelpter
        {
             public static void PrintTest(dynamic bundle)
            {
                TSCSDK.driver usbprint = new driver();
                if (usbprint.openport(PRINT_NAME))
                {
                    int w= bundle.w;
                    int h=bundle.h;
                    int g=bundle.g;
                    float l = bundle.l;
                    float t = bundle.t;
                    usbprint.clearbuffer();
                    // 纸回拉指定长度
                    //TSC_DLL.sendcommand("BACKFEED 60");
    
                    //二维码
                    //需要清除上一次的打印记忆
                    usbprint.sendcommand("CLS");
                    usbprint.setup(w.ToString(), h.ToString(), "4", "15", "0", g.ToString(), "0");
                    string command = "QRCODE " + (int)(5) + "," + (int)(5) + ",H,8,A,0,M2,"" + "p这是一段中文" + """;
                    //System.Windows.Forms.MessageBox.Show(status);
                    usbprint.sendcommand_utf8(command);
                    usbprint.printlabel("1", "1");
                    usbprint.closeport();
                }
            }
        }
    }    
  • 相关阅读:
    mongoose 报错:DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead
    node
    node
    CSS
    JS
    Express
    java Map按Key排序
    Jedis(三)——Hash/List/Set
    Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
    java中如何给Runnable线程传递参数?
  • 原文地址:https://www.cnblogs.com/yesok/p/14981478.html
Copyright © 2011-2022 走看看