当前位置:首页 > 话题广场 > 问答专区 > 科技

c程序中怎么连接打印机?终于找到答案了C# 调用打印机打印机pdf

以前,创建TMS、WMS系统时,经常在条形码打印机上打印标签。


市面上主流的条码打印机有佳博,TSC,斑马,博思得。
这几个品牌打印机的官方SDK都大同小异,都是使用非托管dll调用函数,发送指令给打印机。
标签布局是使用X Y轴来定位的,文本换行还得自己计算文本长度截取换行,所以画标签样式还挺费时间的。

最近公司有新需求,使用动态标签。让客户自己随时配置标签的样式:配置了样式,后面打印标签的格式就是这样。

如果要做到这样,显然官方SDK是很困难的。因为本身XY轴就不好控制,而且官方SDK还不支持图片,表格这些。并且还得为每个品牌打印机编写代码,因为每个品牌的类库,dll不一样。

我想到的解决办法是:打印标签的时候根据动态标签模板画html,然后将html转pdf,最后调用pdf打印机。

这样做的好处是:打印机出来的标签样式基本上可以和配置的模板一样。

        不需要每个品牌打印机都编写标签布局代码了,不需要安装打印机驱动,因为使用pdf打印。


实现步骤:

一、首先肯定要有html文本,或者html网页。你要生成的pdf是什么样,就用html画一个一样的网页。


二、将html网页转为pdf文档


三、打印PDF

1.引用O2S.Com,在nuget中下载

2.代码

     /// <summary> /// PDFRender4NET打印PDF /// </summary> /// <param name="filePath">pdf文件完全路径</param> /// <param name="printName">打印机名称,不传使用默认打印机</param> /// <param name="width">标签宽度mm</param> /// <param name="height">标签高度mm</param> private static void PDFRender4NETPrint(string filePath, string printName, double width, double height) { using (PDFFile file = PDFFile.Open(filePath)) { PrinterSettings settings = new PrinterSettings(); = false; if (printName != null) { = printName; } double proportion = 0.0393701;//1mm等于0.0393701 in width = width * proportion * 100;//乘100,标签大小单位是百分之一英寸 height = height * proportion * 100; //设置纸张大小(可以不设置,取默认设置)3.90 in, 8.65 in PaperSize ps = new PaperSize(printName, Convert.ToInt32(width), Convert.ToInt32(height)); //如果是自定义纸张,就要大于118,(A4值为9,详细纸张类型与值的对照请看(v=vs.85).aspx) = 120; O2S.Com pdfPrintSettings = new O2S.Com(settings); = ps; = O2S.Com; = 1; (pdfPrintSettings); (); } }

1.《c程序中怎么连接打印机?终于找到答案了C# 调用打印机打印机pdf》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《c程序中怎么连接打印机?终于找到答案了C# 调用打印机打印机pdf》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/3306178.html

上一篇

打印机830墨盒怎么加墨?终于找到答案了喷墨打印机的墨盒怎么加墨?做好这几个步骤搞定墨盒加墨

c程序中怎么连接打印机?终于找到答案了C# 使用 Windows API 发送文件到打印机

  • c程序中怎么连接打印机?终于找到答案了C# 使用 Windows API 发送文件到打印机
  • c程序中怎么连接打印机?终于找到答案了C# 使用 Windows API 发送文件到打印机
  • c程序中怎么连接打印机?终于找到答案了C# 使用 Windows API 发送文件到打印机
c程序中怎么连接打印机?终于找到答案了C#获取打印机的方法

c程序中怎么连接打印机?终于找到答案了C#获取打印机的方法

c程序中怎么连接打印机相关介绍,在开发C# C/S体系结构程序时,通常需要开发打印功能。下面介绍了经常获取本地打印机的方法。 一、获取本机打印机列表 /// &lt;summary&gt; /// 获取本机打印机列表 /// &lt...

c程序中怎么连接打印机?总结很全面速看!零失败!跨网段的共享打印机怎么连接

c程序中怎么连接打印机?总结很全面速看!零失败!跨网段的共享打印机怎么连接

c程序中怎么连接打印机相关介绍,Win10系统其他网段打印机共享 第一步是首先修改需要自己电脑的主机文件(不是连接打印机的电脑)。 Hosts文件在C:\Windows\System32\drivers\etc下,有的Win7打开该...

c程序中怎么连接打印机?我来告诉你答案电脑怎么连接打印机?

  • c程序中怎么连接打印机?我来告诉你答案电脑怎么连接打印机?
  • c程序中怎么连接打印机?我来告诉你答案电脑怎么连接打印机?
  • c程序中怎么连接打印机?我来告诉你答案电脑怎么连接打印机?