C# 博思得 POSTEK 打印机 打码机 SDK 二次开发 指令打印

您所在的位置:网站首页 postek标签机需要安装什么软件 C# 博思得 POSTEK 打印机 打码机 SDK 二次开发 指令打印

C# 博思得 POSTEK 打印机 打码机 SDK 二次开发 指令打印

2024-07-03 06:41| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 前言一、调用SDK实现打印

前言

提示: 公司要实现 BarTender的类似功能。POSTEK 提供了开发C++ 的 SDK

提示:C# 博思得 POSTEK 打印机 打码机 SDK 二次开发 指令打印

一、调用SDK实现打印

github地址:

链接: 跳转github下载代码:

代码如下(示例):

实现很简单,主要是引入C++ dll 直接调用方法,。即可实现打印, 打印有 二维码 条码 指定文字内容;也可以 安装字体库然后,调用指定字体进行指定打印。 在这里插入图片描述

/// /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); //object var = PTK_OpenLogMode("./log.txt"); } //[DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "SetUserFirstLogin")] //public extern static bool ResetUserToFirstUse(String username); //[DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "ChangePassword")] //public extern static int ChangePassword(String userName, String oldPwd, String newPwd); /// ///打开日志 接口 /// /// /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_OpenLogMode")] public extern static int PTK_OpenLogMode(String LogPath); /// /// 打开连接 /// /// /// /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_Connect")] public extern static int PTK_Connect(String IPAddr, int netPort); /// /// 关闭连接 /// /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_CloseConnect")] public extern static int PTK_CloseConnect(); /// /// 打印测试页面 /// /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_PrintConfiguration")] public extern static int PTK_PrintConfiguration(); /// /// 清理缓存 /// /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_ClearBuffer")] public extern static int PTK_ClearBuffer(); /// /// 设置坐标原点 /// /// /// /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_SetCoordinateOrigin")] public extern static int PTK_SetCoordinateOrigin(int x,int y); /// /// 调用 windows 的字体库,打印一行 TrueType 字体 /// /// /// /// 字型高度 /// 字型宽度 如果 想打 印正常比例的字体,需 将 h FWidth /// 字型名称 /// 字体旋转角度: 1->居左 0 度, 2->居左 90 度, 3->居左 180 度, 4->居左 270 度5->居中 0 度, 6->居中 90 度, 7->居中 180 度, 8->居中 270 度 /// 字体粗细。0 and 400 -> 400 标准、100 -> 非常细、200 -> 极细、300 -> 细 、500 -> 中等、600 -> 半粗 、700 -> 粗 、800 -> 特粗 、900 -> 黑体。 /// 斜体,0 -> FALSE、1 -> TRUE /// 文字加底线,0 -> FALSE、1 -> TRUE /// 文字加删除线,0 -> FALSE、1 -> TRUE; /// 字符串内容。 /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_DrawText_TrueType")] public extern static int PTK_DrawText_TrueType(int x, int y,int FHeight,int FWidth, string FType,int Fspin,int FWeight, int FItalic, int FUnline, int FStrikeOut, string data); /// /// 打印 QR 码 不持支老固件 现不能使用 /// /// /// /// 保留参数,请输入 0 /// QR 码版本(Version)对应 QR 码图形大小(size),版本号从 1 到 40 /// 设置旋转方向, 范围:0~3。(0--0°,1--90°,2--180°,3--270°) /// 设置放大倍数,以点(dots)为单位,范围值:(1 - 99)。(1--放大 1 倍, 2--放大 2 倍,3--放大 3 倍⋯ ⋯ ) /// 保留参数,请输入 0 /// QR 码纠错等级选择,范围值(0 - 3) /// QR 码掩模图形选择,范围值(0 - 8) /// 条码内容字符串 /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_DrawBar2D_QR")] public extern static int PTK_DrawBar2D_QR(int x, int y, int w,int v,int o ,int r,int m,int g,int s ,string pstr); /// /// 打印 QR 码 支持老固件 /// /// /// /// QR 码版本(Version)对应 QR 码图形大小(size),版本号从 1 到 40 /// 设置旋转方向, 范围:0~3。(0--0°,1--90°,2--180°,3--270°) /// 设置放大倍数,以点(dots)为单位,范围值:(1 - 99)。(1--放大 1 倍, 2--放大 2 倍,3--放大 3 倍⋯ ⋯ ) /// QR 码纠错等级选择,范围值(0 - 3) /// QR 码掩模图形选择,范围值(0 - 8) /// 条码内容字符串 /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_DrawBar2D_QREx")] public extern static int PTK_DrawBar2D_QREx(int x, int y, int o, int r, int g, int v, int s, string binname, string pstr); /// /// 打印一维 条 /// /// /// /// 选择条码的打印方向. 0—不旋转;1—旋转 90°; 2—旋转 180°; 3—旋转 270 /// 选择要打印的条码类型. (不同类型条码有字符限制或字符个数等限制,请参考具体标准) /// 设置条码中窄单元的宽度,以点(dots)为单位. /// 设置条码中宽单元的宽度,以点(dots)为单位. /// 设置条码高度,以点(dots)为单位. /// 选’N’ 对应 ASCII 值 78 则不打印条码下面的人可识别文字, 选’B’,打印条码下面的人可识别文字,左对齐. 当条码类型选择 Code 128 AUTO 时:选‘C’ 打印条码下面的人可识别文字,居中对齐选‘R’ 打印条码下面的人可识别文字,右对齐 /// 一个长度为 1-100 的字符串。 /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_DrawBarcode")] public extern static int PTK_DrawBarcode( int px, int py, int pdirec, string pCode, int NarrowWidth, int pHorizontal, int pVertical, char ptext,string pstr); /* P4 值 条码类型 0 Code 128 UCC(shipping container code) 1 Code 128 AUTO 1A Code 128 subset A 1B Code 128 subset B 1C Code 128 subset C 1E UCC/EAN 2 Interleaved 2 of 5 2C Interleaved 2 of 5 with check sum digit 2D Interleaved 2 of 5 with human readable check digit 2G German Postcode 2M Matrix 2 of 5 2U UPC Interleaved 2 of 5 3 Code 3 of 9 3C Code 3 of 9 with check sum digit 3E Extended Code 3 of 9 3F Extended Code 3 of 9 with check sum digit 9 Code93 E30 EAN-13 E32 EAN-13 2 digit add-on E35 EAN-13 5 digit add-on E80 EAN-8 E82 EAN-8 2 digit add-on E-85 EAN-8 5 digit add-on K Codabar P Postnet UA0 UPC-A UA2 UPC-A 2 digit add-on UA5 UPC-A 5 digit add-on UE0 UPC-E UE2 UPC-E 2 digit add-on UE5 UPC-E 5 digit add-on */ /// /// 图片路径直接打印一张图片 /// /// /// /// 设置存储在打印机内部的图形名称,最大长度为 16 个字符 /// 图形文件路径(支持 http 协议)。目前支持的格式:bmp, jpg, png, tif, ico, pcx /// 缩放倍数,只有当该参数为 0 时,width 和 height 才生效 /// 指定缩放后的宽度(单位:dot),输入 0 为图片原始宽度。 /// 指定缩放后的高度(单位:dot),输入 0 为图片原始高度 /// 旋转角度0- 0 度1- 90 度2- 180 度3- 270 度4- 垂直镜面翻转5- 水平镜面翻转 /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_AnyGraphicsPrint")] public extern static int PTK_AnyGraphicsPrint( int px, int py, string pcxname, string filePath, float ratio, int width, int height, int iDire); /// /// 执行打印动作 /// /// 打印标签数量 /// 标签打印重复次数 /// [DllImport("CDFPSK.dll", CharSet = CharSet.Ansi, EntryPoint = "PTK_PrintLabel")] public extern static int PTK_PrintLabel(int PrintCount,int Number); /// /// 172.16.1.199 6666 /// /// /// private void button_Click(object sender, RoutedEventArgs e) { try { int status = 99; status = PTK_Connect("172.16.1.199", 6666); status = PTK_ClearBuffer(); //object var2 = PTK_PrintConfiguration();//打印测试页面 status = PTK_SetCoordinateOrigin(140,0); //打印内容设置 status = PTK_DrawText_TrueType(0, 1, 50, 0, "宋体", 1, 400, 0, 0, 0, "昔时贤文,"); status = PTK_DrawText_TrueType(0, 50, 50, 0, "微软雅黑", 1, 400, 0, 0, 0, "诲汝谆谆。"); status = PTK_DrawText_TrueType(0, 50 * 2, 48, 0, "楷体", 1, 400, 0, 0, 0, "集韵增广,"); status = PTK_DrawText_TrueType(0, 50 * 3, 48, 0, "隶书", 1, 400, 0, 0, 0, "多见多闻。"); status = PTK_DrawText_TrueType(0, 50 * 4, 48, 0, "Arial2", 1, 400, 0, 0, 0, "1234567890");//支持安装过的 字体; //status = PTK_DrawBar2D_QR(100, 50 * 5, 0, 8, 0, 10, 0, 0, 8, "https://www.baidu.com");// 二维码无法识别 //status = PTK_DrawBar2D_QREx(80, 50 * 5, 0, 10, 0, 0, 8, "ABC","https://www.baidu.com");// 二维码可以识别 //PTK_DrawBarcode(150, 430, 1, "1", 3, 0, 100, 'C', "POSTEK2020");//条码 可以 目前只有code128 auto支持居中居右显示 //PTK_DrawBarcode(10, 430, 0, "1", 3, 0, 100, 'C', "POSTEK2020");//条码 目前只有code128 auto支持居中居右显示 //status = PTK_AnyGraphicsPrint(5, 48 * 13, "A", "./microsoft.png", 0, 170, 170, 0); //打印图片 status = PTK_PrintLabel(1, 1);//打印一张标签 status = PTK_CloseConnect(); } catch (Exception ex) { throw; } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3