1. public class POSPrinter
  2. {
  3. const int OPEN_EXISTING = 3;
  4.  
  5. string prnPort = "LPT1";
  6. [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
  7. private static extern IntPtr CreateFile(string lpFileName,
  8. int dwDesiredAccess,
  9. int dwShareMode,
  10. int lpSecurityAttributes,
  11. int dwCreationDisposition,
  12. int dwFlagsAndAttributes,
  13. int hTemplateFile);
  14. public POSPrinter()
  15. {
  16.  
  17. }
  18. public POSPrinter(string prnPort)
  19. {
  20. this.prnPort = prnPort;//打印机端口
  21. }
  22. public string PrintLine(string str)
  23. {
  24. IntPtr iHandle = CreateFile(prnPort, 0x50000000, 0, 0, OPEN_EXISTING, 0, 0);
  25. if (iHandle.ToInt32() == -1)
  26. {
  27. Console.WriteLine(iHandle.ToString());
  28. return "没有连接打印机或者打印机端口不是LPT1";
  29. }
  30. else
  31. {
  32. Console.WriteLine(iHandle.ToString());
  33. FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite);
  34. StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);
  35. sw.WriteLine(" 小票单");
  36. sw.WriteLine();
  37. sw.WriteLine(str);
  38. sw.WriteLine("打印内容");
  39. sw.WriteLine("---------------------------");
  40.  
  41. sw.Close();
  42. fs.Close();
  43. return "打印成功!";
  44. }
  45. }
  46. }

  直接调用PrintLine();方法进行打印具体需要的参数和打印格式大家自行调整。

C#后台调用LPT1端口实现小票机打印方法。的更多相关文章

  1. C# 使用C/S模式操作小票机打印

    此方式适用于市场上大多数的小票机 佳博.POS58 等,不适用于有些标签打印机 比如斑马打印机等 直接贴代码: private FileStream fs = null; [DllImport(&qu ...

  2. 跨域调用报表展现页面的flash打印方法

     环境说明: 项目的应用和润乾的报表应用分别部署在同一机器不同的web服务器上(IP相同,端口不同,项目的端口8080,报表应用的端口是6868). 在项目中的父页面通过iframe调用报表展现页 ...

  3. ASP.NET后台调用前台JS函数的三种常见方法

    第一种:使用普通的添加控件中的Attributes属性进行调用 例如,像一般的普通的按钮:Button1.Attributes.Add("onclick","MyFun( ...

  4. PDA手持移动POS销售开单软件(网络版)、PDA手持设备小票机

    背景描述: 一家大中型批发及门店销售企业,经销多种冻食品,业务范围覆盖周边众多区域和城市.成立以来,随着业务量的扩大,产品销售分两大渠道:多门店销售和仓库批发,各门店每天都有大量的零散客户和老客户进行 ...

  5. delphi LPT1端口打印与开钱箱

    {设置打印机}Assignfile(RPrinter,'LPT1'); {准备写文件}Rewrite(RPrinter); {向后倒纸}//Writeln(RPrinter,chr($b)+chr(2 ...

  6. 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP——理论篇

    工作两年多了,我会经常尝试给公司小伙伴儿们解决一些问题,几个月下来我发现初入公司的小朋友最爱问的问题就三个 1. 我想前台调用后台的XXX方法怎么弄啊? 2. 我想后台调用前台的XXX JavaScr ...

  7. 【WP 8.1开发】解决调用真实摄像头会死机的问题

    无论你是用Silverlight还是用RT的API来开发,在使用MediaCapture拍照片或录视频时,要是在模拟器上运行会万事大吉:但是,一旦放到真实手机上运行,肯定有人发现了,细心的朋友肯定发现 ...

  8. 获取ip ,百度地图坐标点 和 在 后台调用 url()

        protected  void getip()         {             string ips = HttpContext.Current.Request.UserHostA ...

  9. js调用.net后台事件、后台调用前台以及js调用服务器控件

    1. javaScript函数中执行C#代码中的函数: 方法一:间接触发后台代码 1.首先建立一个服务端控件按钮命名为btn1,双击进入后台将调用或处理的内容写入btn1_click中; 2.在前台写 ...

随机推荐

  1. 编写安全的API接口

    HTTPS接口参数加密签名设计思路 数名 类型 必选 描述 _appid string 是 调用方身份ID,接口提供方用此来识别调不同的调用者,该参数是API基本规范的一部分,请详见API公共规范. ...

  2. 按esc键 关闭模态框

    <!-- help start --> <div class="modal fade" id="myModal" tabindex=" ...

  3. Python 装饰器入门(上)

    翻译前想说的话: 这是一篇介绍python装饰器的文章,对比之前看到的类似介绍装饰器的文章,个人认为无人可出其右,文章由浅到深,由函数介绍到装饰器的高级应用,每个介绍必有例子说明.文章太长,看完原文后 ...

  4. Anaconda+django写出第一个web app(九)

    今天来学习外键的使用,用外键来连接数据库中的两个表. 当我们的tutorials非常多的时候,目前的显示方式就会使得页面非常凌乱.我们可以考虑把这些教程分为不同的系列,页面只显示标题以及概要等信息,进 ...

  5. C++ socket 网络编程 简单聊天室

    操作系统里的进程通讯方式有6种:(有名/匿名)管道.信号.消息队列.信号量.内存(最快).套接字(最常用),这里我们来介绍用socket来实现进程通讯. 1.简单实现一个单向发送与接收 这是套接字的工 ...

  6. Number of Islands I & II

    Given a boolean 2D matrix, find the number of islands. Notice 0 is represented as the sea, 1 is repr ...

  7. 网络图片转换到本地并转换成base64位

    /** * 网络图片转换到本地并转换成base64位 * @param $url * @return string */ public function imgzhuanhuan($url) { // ...

  8. PHP 利用redis 做统计缓存mysql的压力

    <?php header("Content-Type:text/html;charset=utf-8"); include 'lib/mysql.class.php'; $m ...

  9. [转] HTML5之FileReader的使用

    HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...

  10. 数学之美——HMM模型(二)解码和Forward算法

    上一篇讨论了HMM的基本概念和一些性质,HMM在现实中还是比较常见的,因此也带来一了一系列的HMM应用问题.HMM应用主要面向三个方面:预测.解码和学习.这篇主要讨论预测. 简单来说,预测就是给定HM ...