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);
// 打印.
TSCLIB_DLL.printlabel("1", "1");
// 关闭 打印机 端口
TSCLIB_DLL.closeport();
}
#endregion
TSC条码打印机C#例程(tsclib.dll调用) 【转】的更多相关文章
- TSC条码打印机C#例程(tsclib.dll调用)
TSC条码打印机C#例程(tsclib.dll调用) //---- program.cs using System;using System.Collections.Generic;using Sy ...
- DLL放在指定目录 以及设置dll调用路径
一.DLL放在指定目录 在编写C# winform程序中,不免一个项目会有多个工程文件,而这些工程文件之间是相互引用的,所以不想将工程的生成结果(exe或者dll)放在当前工程bin目录下的Debug ...
- zw版【转发·台湾nvp系列Delphi例程】.NET调用HALCON COM控件内存释放模式
zw版[转发·台湾nvp系列Delphi例程].NET调用HALCON COM控件内存释放模式 ------------------------------------方法一 :Imports Sys ...
- opencv通过dll调用matlab函数,图片作为参数
[blog 项目实战派]opencv通过dll调用matlab函数,图片作为参数 前文介绍了如何“csharp通过dll调用opencv函数,图片作为参数”.而在实 ...
- csharp通过dll调用opencv函数,图片作为参数
[blog 项目实战派]csharp通过dll调用opencv函数,图片作为参数 一直想做着方面的研究,但是因为这个方面的知识过于小众,也是由于自己找资料的能力比较弱,知道今天才找 ...
- C++ dll调用-动态(显式)
C++ dll调用-动态(显式) 废话不说上代码, dll 头文件 j_test.h #pragma once extern "C"_declspec(dllexport) voi ...
- DLL调用的两种方式(IDE:VC6.0,C++)
原文:http://www.cnblogs.com/Pickuper/articles/2050409.html DLL调用有两种方式,一种是静态调用,另外一种是动态调用 (一)静态调用 静态调用是一 ...
- C++ 多项目dll调用-隐式
将DAA人脸检测做成动态库以便其他程序调用,采用隐式调用完成. 给出部分关于dll制作的关键代码: 1.DLL 多项目DLL编写注意将其他相关项目设置成静态库,以及各库涉及的版本一致性. DLL.h ...
- delphi 跨版本DLL调用嵌入窗体实现
delphi 能实现把别的DLL的窗体句柄查到后,贴到PANL之中,此类文章网上不少,而如果是delphi不同版本开发的DLL互调时,一些控件内部的定义有所区别,因为无法(至少目前我觉得理论上不可行) ...
随机推荐
- 解决Android编译时出现aapt.exe finished with non-zero exit value 1
当出现这个错误的时候,说明了你的资源文件出错了.然而AS能给你提供的信息实在太少,看了半天没看出个所以然,也没有说明是哪个资源文件出错,一头雾水. 这时候就可以用 Gradlew 来调试. 而grad ...
- Flutter 即学即用系列博客——02 一个纯 Flutter Demo 说明
前言 上一篇文章我们搭建好了 Flutter 的开发环境. Flutter 即学即用--01 环境搭建 这一篇我们通过 Flutter 的一个 Demo 来了解下 Flutter. 开发系统:MAC ...
- OutOfMemoryError/OOM/内存溢出异常实例分析--虚拟机栈和本地方法栈溢出
关于虚拟机栈和本地方法栈,在JVM规范中描述了两种异常: 1.如果线程请求的栈深度大于JVM所允许的深度,将抛出StackOverflowError异常: 2.如果虚拟机在扩展栈时无法申请到足够的内存 ...
- Php如何返回json数据,前后端分离的基本解决方案
php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...
- 一些常用Java序列化框架的比较
概念 序列化:将Java对象转化为字节数组 反序列化:将字节数组转化为Java对象 在RPC应用中,进行跨进程远程调用的时候,需要使用特定的序列化技术,需要对进行网络传输的对象进行序列化和反序列化. ...
- PMBook - 上课体会
一.上课感觉怎么样? 这两天都在培训PMP,第一天提前20分到的,空位很多,挑了第二排坐下,看投影效果挺好.第二天我提前30分钟到教室,中间的位置都坐满了,只能找其他位置了.看来大家积极性提高了很多, ...
- 虎牙直播张波:掘金Nginx日志
大家好!我是来自虎牙直播技术保障部的张波.今天主要会从数据挖掘层面跟大家探讨一下 Nginx 的价值.OpenResty 在虎牙的应用场景主要 WAF 和流控等方面,我今天主要分享的是“ Nginx ...
- .NET Core微服务之服务间的调用方式(REST and RPC)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.REST or RPC ? 1.1 REST & RPC 微服务之间的接口调用通常包含两个部分,序列化和通信协议.常见的序列化 ...
- React引领未来用户界面——心莱科技内部直播分享会
视频地址(请点开链接观看视频)https://v.qq.com/x/page/l08427ukdjo.html 本周,心莱科技在公司内部就开展了一场前端技术分享会,使用了直播模式进行分享,主要分享关于 ...
- 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken
前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...