使用Star TSP 100打印ZPL生成的PDF时上下出现多余空白问题
解决Star TSP 100打印ZPL转PDF后顶部大量空白问题
问题描述
我用Labelary生成了以下ZPL代码:
^XA ^LH0,0 ^CI28 ~DGR:SAMPLE.GRF,5796,46, iU0G3V0iQ0G1IFGEV0iQ0G7IFGCV0iP0G3JFG8V0iP0KFW0iR0IFW0P0IFGEhX0IFW0N0G1GFI0G7GEhW0IFW0N0GFK0G7GChV0IFW0M0G3G8L0GFG8hU0IFW0M0GEM0G3GEH0G6hR0IFW0L0G1G8N0GFG8G0GFG8hQ0IFW0L0G7O0G7GEG1GFGChQ0IFW0L0GCO0G1IFGEhQ0IFW0K0G3G8P0IFGChQ0IFW0K0G7Q0G7HFG8hQ0IFW0K0GEQ0G3HFhR0IFW0J0G1GCQ0G1GFGEhR0IFW0J0G3G8R0GFGChR0IFW0J0G7S0GFhS0IFW0J0GER0G1GEhS0IFW0J0GER0G1GChS0IFW0I0G1GCR0G2hT0IFW0I0G3G8iM0IFW0:I0G7iN0IFW0I0GFiN0IFW0:I0GEiN0IFW0H0G1GEiN0IFW0H0G1GCiN0IFW0H0G3GCiN0IFW0H0G3GCgK0IFgW0G8H0IFN0HFG8G1G8J0H0G3GCgJ0G7IFGCG3G8gR0G1GFI0IFM0G7IFG0GEJ0H0G7G8gI0G1GFH0G7GFGBGEgR0G7GCI0IFL0G1GEH0GFG8G7G8I0H0G7G8gI0G3GCI0IFG8gQ0G7G8I0IFL0G3G8H0G3GEGFGCI0H0G7G8gI0GFJ0G7HFGCgM0G4N0IFL0G7I0G1HFGEI0H0G7G8gH0G1GCJ0G1HFGEgM0G1N0IFL0GEJ0IFI0H0G7G8gH0G3G8K0IFgI0G1J0GCG0G6K0IFK0G1GCJ0G7HFG8H0H0GFG8gH0G7L0G7HFG8gH0G2J0G6G0G7K0IFK0G3G8J0G3HFG8H0H0GFG8gH0G7L0G3HFGCgH0G4J0G7G8G7G8J0IFK0G7K0G1HFGCH0H0GFG8gH0GEL0G3HFGEL0G4U0G4J0G3G8G7GCJ0IFK0G7K0G1HFGCH0H0GFG8gG0G1GCL0G1IFL0G8U0G8J0G1G8G3GCJ0IFK0GEL0HFGEH0H0GFG8gG0G1GCM0IFL0G8U0G8J0G1G8G1GEJ0IFK0GEL0HFGEH0jQFG0::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ^FO100,100 ^XGR:SAMPLE.GRF,1,1^FS ^CF0,30 ^FO10,250^FB540,1,0,C^FD123 Main St, City^FS ^FO10,290^FB540,1,0,C^FDPhone: (123) 456-7890^FS ^FO10,330^FB540,1,0,C^FDTax Invoice - ABN: 123456789^FS ^CF0,28 ^FO50,470^FDItems^FS ^FO470,470^FD$^FS ^CF0,35 ^FO50,520^FDProduct 1^FS ^CF0,25 ^FO50,560^FDQty : 2 @2.00 each^FS ^FO450,560^FD4.00^FS ^CF0,35 ^FO50,620^FDProduct 2^FS ^CF0,25 ^FO50,660^FD0.1972 kg Net @24.00/kg^FS ^FO450,660^FD4.00^FS ^CF0,25 ^FO50,740^FDSubtotal:^FS ^FO450,740^FD66.46^FS ^FO50,780^FDRounding:^FS ^FO450,780^FD0.00^FS ^CF0,30 ^FO50,820^FDTOTAL:^FS ^FO450,820^FD66.46^FS ^CF0,25 ^FO50,860^FDCash:^FS ^FO450,860^FD66.46^FS ^FO50,900^FDChange:^FS ^FO450,900^FD0.00^FS ^FO50,1000^FD***************************************************^FS ^FO250,1050^FDEFTPOS DETAILS^FS ^FO50,1500^FD***************************************************^FS ^FO50,1600^FD***************************************************^FS ^FO200,1650^FDThankyou for shopping at^FS ^FO50,2000^FD***************************************************^FS ^XZ
这段代码在Labelary在线预览器中显示正常,但将收据转为PDF后用Star TSP 100打印机打印时,无论选择72mm×收据、72mm×200mm等纸张尺寸,打印预览和实际输出都会出现顶部大量空白,内容仅在页面底部显示。
解决方案
1. 直接发送ZPL到打印机,跳过PDF转换
Star TSP 100支持直接解析ZPL指令,转PDF环节易引发页面尺寸不匹配:
- 使用打印机驱动的RAW打印模式,将ZPL代码保存为
.zpl文件后,直接发送到打印机端口 - 或通过编程工具(如C#的
RawPrinterHelper类)直接传输ZPL数据,避免格式转换损耗
2. 调整ZPL代码的布局与参数
若必须用PDF打印,修改ZPL优化内容排版:
- 缩减超大间距的
^FO坐标:当前代码中^FO50,1500、^FO50,2000这类过大的Y坐标会导致PDF生成时预留大量空白,改为连续递增的合理数值(如从1100开始逐步增加) - 添加
^LL指令定义标签总长度:在^XA后加入^LL2200(数值可根据实际内容调整),明确告知打印机收据的总高度 - 确认
^LH0,0设置正确,无起始位置偏移
3. 校准打印机纸张设置
- 在Star TSP 100驱动中自定义准确纸张尺寸:72mm宽度对应283打印点(1mm≈3.937点),高度设为“自动”或匹配收据实际长度
- 执行打印机自动校准:按住走纸键开机,完成纸张起始位置识别
4. 优化PDF生成参数
- 在Labelary生成PDF时,选择与打印机匹配的72mm宽度纸张,不要用默认A4尺寸
- 关闭PDF生成时的“自动缩放”“适应页面”选项,确保内容按实际尺寸输出
内容的提问来源于stack exchange,提问作者BlazorStudio
相关产品推荐
相关产品推荐

