C#二维码的生成及打印

article/2025/8/26 6:54:10

窗体设计显示图

一,生成二维码

 /// <summary>/// 生成二维码/// </summary>/// <param name="text">内容</param>/// <param name="width">宽度</param>/// <param name="height">高度</param>/// <returns></returns>public static Bitmap Generate1(string text, int width, int height){if (string.IsNullOrEmpty(text)){return null;}BarcodeWriter writer = new BarcodeWriter();writer.Format = BarcodeFormat.QR_CODE;QrCodeEncodingOptions options = new QrCodeEncodingOptions(){DisableECI = true,//设置内容编码CharacterSet = "UTF-8",  //设置二维码的宽度和高度Width = width,Height = height,Margin = 1//设置二维码的边距,单位不是固定像素};writer.Options = options;Bitmap map = writer.Write(text);return map;}

二,调用

       /// <summary>/// 生成二维码/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){if (string.IsNullOrEmpty(textBox2.Text)){MessageBox.Show("请输入要生成二维码的数据");}pictureBox2.Image = BarcodeHelper.Generate1(textBox2.Text, 160, 140);}

三,二维码打印

        [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);//打印二维码public static void printQrCode(string barcode){//TSCLIB_DLL.about();                                                          //Show the DLL versionBarcodeHelper.openport("TSC TTP-342 PRO");                                     //Open specified printer driverBarcodeHelper.setup("77.5", "50", "2", "15", "0", "6", "0");                  //Setup the media size and sensor type infoBarcodeHelper.clearbuffer();BarcodeHelper.sendcommand("DIRECTION 0");BarcodeHelper.windowsfont(137, 305, 40, 0, 0, 0, "宋体", barcode);BarcodeHelper.sendcommand("QRCODE 212,58,L,10,A,0,M2,S7,\"" + barcode + "\"" + "\r");BarcodeHelper.printlabel("1", "1");                                                    //Print labelsBarcodeHelper.closeport();}//关闭打印机端口public static void closeportExt(){BarcodeHelper.closeport();}

四,调用打印

  /// <summary>/// 打印二维码/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button2_Click(object sender, EventArgs e){/* if (string.IsNullOrEmpty(textBox2.Text)){MessageBox.Show("请输入要生成二维码的数据");}*/if (textBox2.Text.Trim() == ""){MessageBox.Show("没有信息,请输入数据", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);return;}try{BarcodeHelper.printQrCode(textBox2.Text.Trim());}catch (Exception ex){System.Diagnostics.Debug.WriteLine(ex.Message);}}

需要添加引用,VS上可以直接生成,代码可以直接使用。


http://chatgpt.dhexx.cn/article/Nr0a1qCC.shtml

相关文章

生成二维码,并且打印

生成二维码&#xff0c;并且打印出来 加入依赖 //二维码依赖 npm install --save qrcodejs2 //打印依赖 npm install vue-print-nb --save在mian文件夹中使用引入并使用&#xff0c;或者按需引入 //打印依赖 import Print from vue-print-nb Vue.use(Print)本次二维码是按需引…

二维码打印

1. 二维码简介 二维码&#xff08;2-dimensional bar code&#xff09;&#xff0c;又称二维条码&#xff0c;它是用特定的几何图形按一定规律在平面&#xff08;二维方向&#xff09;上分布的黑白相间的图形&#xff0c;是所有信息数据的一把钥匙。在现代商业活动中&…

vue生成条形码和二维码并打印

文章目录 前言一、生成条形码二、生成二维码三、效果图四、打印 前言 最近有一个需求&#xff0c;需要将产品信息生成标签&#xff0c;每个信息生成一个条形码&#xff0c;拿到所有数据生成二维码&#xff0c;最后打印标签。 一、生成条形码 使用jsbarcode&#xff0c;直接in…

vue二维码生成、打印及识别

生成二维码 引入QRCode模块 npm install --save qrcode import QRCode from qrcode; 页面代码 批量创建二维码及打印&#xff0c;所以加了个v-for <div id"printDiv"/**后面打印用到的区域id*/ :disabled"hussar_20Disabled" ref"hussar_20Ref&quo…

如何将内网ip映射到外网

这个百度经验上就有&#xff0c;不过对于着急使用的我来说&#xff0c;差了最后一步。所以还是一起记上吧。 第一步 首先登陆你的路由器&#xff0c;就改密码那个。一般就用浏览器直接打开192.168.1.1就可以&#xff0c;账号密码有可能是 admin admin吧&#xff0c;默认可能是…

VMWare虚拟机局域网网络配置,主机访问虚拟机上的网站(端口映射)

文章目录 1 problem2 背景知识3 配置主机网络4 配置虚拟机网络 1 problem 如题&#xff0c;现在虚拟机的80端口和8080端口都有一个网站&#xff0c;我们想要在主机访问它。 2 背景知识 VmWare支持3种网络连接模式。 1、桥接模式&#xff1a; 所谓桥接就是把两个本来分开…

映射公网的几种方式

转载自&#xff1a;http://blog.csdn.net/sadshen/article/details/48240519 这篇文章花了好几天&#xff0c;系统地梳理出了映射公网的几种方式。虽然是针对微信开发的外网服务器来寻找解决方案&#xff0c;但这个知识梳理可能会在其他地方也受益。平常我也有用TeamViewer&…

VMware NAT端口映射 外网可以访问内网虚拟机

我想尝试的是利用本机的ipport来访问虚拟机上的web服务器&#xff0c;因为这样的话&#xff0c;我就能够将我的web服务器部署成为一个能让外网访问的服务器了&#xff0c;首先说下我的环境&#xff1a; 主机&#xff1a;系统win7&#xff0c;ip地址172.18.186.210 虚拟机版本是…

如何把内网IP映射到公网IP

鸽子出品 2017-12-05 22:28:22 我们讲了如何搭建网站&#xff0c;可是有很多小伙伴私信跟我说怎么映射&#xff0c;今天我就教大家如何把内网地址映射到公网&#xff01; 我们所需要的工具有&#xff1a; 内网IP&#xff08;这个是品&#xff0c;也是必有的&#xff01;&…

简单内网映射到公网方法--免费

我是一名Android API Player&#xff0c;最近公司需要做微信公众号二次开发&#xff0c;我跟着学学&#xff0c;公司后台.net。 我mac安装windows之后用vs感觉太差了&#xff0c;可能是我的mac要淘汰了吧。 所以我决定用java后台来跟着做。 仔细一想我没有服务器啊。 再仔细…

本地主机搭建服务器后如何让外网访问?快解析内网端口映射

本地主机搭建应用、部署服务器后&#xff0c;在局域网内是可以直接通过计算机内网IP网络地址进行连接访问的&#xff0c;但在外网电脑和设备如何访问呢&#xff1f;由于内网环境下&#xff0c;无法提供公网IP使用&#xff0c;外网访问内网就需要一个内外网转换的介质。这里介绍…

内网和外网之间的通信(端口映射原理)

内网和外网之间的通信&#xff08;端口映射原理&#xff09; 首先解释一下“内网”与“外网”的概念&#xff1a; 内网&#xff1a;即所说的局域网&#xff0c;比如学校的局域网&#xff0c;局域网内每台计算机的IP地址在本局域网内具有互异性&#xff0c;是不可重复的。但两…

实现内网通过外网域名访问NAT映射的内网服务器

大家都知道在用Huawei的中低端路由器做NAT地址映射时只能支持 “外网访问” 不支持 “内网访问”。也就是说只支持NAT映射后外网IP通过外网域名&#xff08;外网IP&#xff09;访问NAT映射的服务器 &#xff0c;不支持NAT映射后内网IP通过外网域名&#xff08;外网IP&#xff0…

给内网映射增加安全防护

1.背景 内部网络资源的访问&#xff0c;通用的做法是部署企业VPN&#xff0c;通过VPN设备提供公网接入服务&#xff0c;客户端接入后&#xff0c;则可以像本地网络一样访问内网资源。但是部署VPN需要专业设备&#xff0c;且配置管理往往需要专业人员&#xff0c;对普通小…

公网映射思路

1、使用环境 目前政务微信的有两台内网环境71和14服务器&#xff0c;外网不能访问&#xff0c;只能内部访问&#xff0c;但是项目部署在14上面71的nginx转发到14服务器上面&#xff0c;但是现在14的项目需要网络支持&#xff0c;另外需要一台公网环境180服务器。 2、公网环境…

外网做ip映射访问内网链接

首先这个外网必须是独立ip 然后在路由器设置ip映射&#xff0c;注意防火墙放通该端口&#xff0c;可以telnet连一下试试有没通

几种内网映射到公网的方法

1、windows_386_ngork ngrok.exe用来将内网映射到外网上&#xff0c;即让外网能访问局域网内本地的应用&#xff0c;例如在外网访问你本地http://127.0.0.1指向的Web站点。下载windows_386_ngork软件&#xff0c;可以到官网下载&#xff0c;可以直接用我提供的下载地址&#x…

云服务器部署内网穿透映射本地服务

项目开发时需要和前端联调&#xff0c;考虑使用内网穿透避免每次上传服务部署的过程 下载frp &#xff08;开源内网穿透、反向代理工具&#xff09; https://github.com/fatedier/frp/releases/上传云服务器并解压&#xff08;使用xftp等工具上传&#xff09; tar -zxvf frp_0…

内网与外网及内网映射的概念

内网与外网及内网映射的概念 所谓内网&#xff0c;也就是局域网&#xff0c;一般是由几台电脑加上路由器和网线搭建起来&#xff0c;只能在局域网中通过路由器分配的IP地址来访问&#xff0c;且访问地址是动态的可变的。本机也算是一个相对独立的内网&#xff0c;本机的内网IP就…

内网如何映射到公网访问互联网

我们通常会根据本地应用场景来选择合适的中间件来搭建服务器。tomcat、 apache是比较常用的搭建服务器的中间件&#xff0c;它们之间还是有一些区别差异的。在内网本地部署搭建服务器后&#xff0c;还可以通过快解析端口映射方法&#xff0c;将内网应用地址发布到互联网&#x…