FastReport中国社区FastReport联系电话 联系电话:023-68661681

如何以ZPL格式打印报告

来源:   发布时间:2018-06-28   浏览:6002次

FastReport .Net 2018.1版本具有新的ZPL(Zebra编程语言)格式输出。此格式旨在与特殊标签打印机配合使用。关于ZPL的更多信息可以在文章“页面描述语言——ZPL”中找到。

在需要在标签打印机上打印的开发报告时,应考虑以下几点:

  • 页面大小必须与标签大小相匹配,您可以在报表菜单的页面设置中调整报表设计器中的尺寸;
  • 也要考虑页面大小设置窗口中指定的字段——如果您需要靠近标签边缘进行打印,则需要将字段设置为0;
  • 每个生成的报告页面将作为单独的标签发送到打印机;
  • 制定报告时,应遵守黑白配色方案。

您可以使用预览窗口中的一组ZPL命令创建一个文件。

PrintZPL1
  • Density 参数负责打印密度,每毫米点数。根据将来打印标签的打印机选择浓度。
  • “Print As Bitmap”复选框表示报表图像的每个像素副本将发送到打印机。换句话说,报告的黑白图像将生成并以ZPL格式保存为图片。如果此复选框被禁用,报告对象将被保存为一系列ZPL命令。文本值以UTF-8编码存储,条形码(ZPL中具有相应模拟值的条形码)作为单独的命令传输。应该记住,当将报告打印为图片时,即使条形码看起来与我们在报告中得到的内容完全相同,也是无法读取的。这种条形码行为的原因是由于条形码对象缩放造成的线条粗细比例错误。为避免读取条形码时出错,应禁用“Print As Bitmap”模式,但在这种情况下,条形码的外观可能与我们在预览窗口中看到的不一致。
  • Font Scale参数负责缩放字体大小。

如果没有标签打印机可用或出于经济目的,您可以在联机ZPL查看器(http://www.labelary.com/viewer.html)中测试保存的文件——在任何文本编辑器中使用扩展名*. Zpl打开生成的文件,将其复制到网站上的文本框中,然后单击Redraw 按钮。

您可以在ZPL中进行其他导出设置,并从程序代码直接将其发送到标签打印机。查看\ Demos \ C # \ PrintZPL文件夹中的演示程序。

这是它的主要形式的样子:

PrintZPL2

首先,您选择一个报告模板,然后设置导出选项并选择要打印的打印机。它应该是支持ZPL命令系统的打印机——在我们的例子中是Zebra ZD420打印机。

在程序代码中,您可以看到如何以ZPL格式控制导出设置——ZplExport类的对象的属性:

属性 描述
ZplExport.Density 打印密度取决于打印机型号。
可能的值:
ZplExport.ZplDensity.d6_dpmm_152_dpi,
ZplExport.ZplDensity.d8_dpmm_203_dpi,
ZplExport.ZplDensity.d12_dpmm_300_dpi,
ZplExport.ZplDensity.d24_dpmm_600_dpi.
ZplExport.CodePage ZPL语言中用于定义字符编码的命令。打印标签之前,它每次发送到打印机。默认情况下,它包含字符串“^ CI28”,对应于UTF-8编码。
ZplExport.FontScale 缩放字体大小。默认值是1。
ZplExport.PrinterFont 指示字体类型的字符串,默认为“A”。
ZplExport.PrintAsBitmap 打印为位图。默认设置为true。
ZplExport.PrinterInit 包含一组命令的字符串,将在报告打印之前发送一次到打印机。可用于设置方向、覆盖字体或其他打印机设置。
ZplExport.PrinterFinish 包含一组命令的字符串,打印报告后将被发送到打印机。
ZplExport.PageInit 包含一组命令的字符串,在打印每个标签之前将被发送到打印机。

发送到打印是通过使用FastReport.Export.Text.TextExportPrint.PrintStream方法完成的,该方法将带有ZPL命令的指令流传递到打印机的打印队列。


产品介绍 | 下载试用 | 优惠活动 | 在线客服 | 联系Elyn


6月年中大促
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2070.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
微信
QQ 电话
023-68661681
返回
顶部