为什么我的 Intermec 打印机打印之前打印的标签并且只存储当前标签直到下一次打印?
Why does my Intermec printer print the previously printed label and only stores current label until next print?
我有一台 Intermec PX6i 打印机。
标签代码已生成,保存为 .txt 文件并通过 TCP/IP 连接发送到打印机。
一切正常,但是执行时,它会将当前文件保存到内存并打印上一个标签。
这意味着我必须执行两次打印才能获得我请求的标签。由于这是先前成功标签的副本,因此所有其他标签都会被丢弃。
即使是直接从打印机控制面板的空 FEED,也会送入空标签并将其存储。然后当我请求打印作业时,打印了另一个空标签并且只保存了请求。
谁能告诉我为什么会这样?
我试过在每次请求前后清除缓冲区。缓冲区似乎被清除了,但是打印历史在某处仍然有以前的标签并且仍然重新打印它。
我试过不打印就发送文件,并用打印命令发送第二个文件,但在执行打印之前它不会替换之前的标签。
我试过用不同的标题发送文件,但这并不能代替以前的图片。
我在代码之前、代码之后甚至在单独的打印请求中都使用了 CLL
和 CLEAR
命令。
我试过使用和不使用 PRINTKEY
命令。把它变成 ON
和 OFF
,但仍然不起作用。
这是我的 CMD 代码:
PUT ftpData.txt PR1
这是标签代码:
CLIP ON
CLIP BARCODE ON
CLL
PP 0,95:AN 7
BARSET "QRCODE",1,1,4,2,2
PB "2762884799"
PP87,100:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "2762884799"
PP87,60:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "27JUL2019"
PP180,32:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "12"
PRINT KEY OFF
PF
CLL
CLEAR
RUN
CMD 结果:
ftp> open xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx.
220 EasyCoder FTP Server v.2024 ready.
ftp> user username password
331 Password required for admin.
230 User logged in.
ftp> PUT ftpData.txt PR1
200 PORT command OK.
150 Opening ASCII mode data connection for 'pr1'
226 Transfer complete.
ftp: 799 bytes sent in 0.20Seconds 3.96Kbytes/sec.
然后打印机打印,但不打印当前标签。
仅打印先前保存的标签并保存当前标签。
然后在下一次请求时,打印当前标签,仅保存下一个标签。
原来问题不在代码中,也不是 buffer/memory 问题的结果。
需要调整内部 "Print Engine" 设置。
过去,打印机每次打印后都会额外送入一张空白标签。
此外,它会在打印前缩回一点。
因此,为了解决这个问题并简化打印过程,我将 STARTADJ
更改为 0
,将 STOPADJ
更改为 -120
。
这解决了提要问题,但无意中导致了这个新的 "Reprint" 问题。
The printer basically keeps track of where the print job stopped, then adds the new request thereafter.
事件的结论:
- 通过将
STOPADJ
设置为 -120
,在每个打印命令之后,它基本上将打印作业的结束位置设置在最后一个标签开始之前。
- 因此,下一个打印作业的起点在最后一个打印标签之前,因此最后一个历史标签将最先打印。
- 然后根据请求的命令和
PF
(PRINTFEED
) 执行单个打印。
- 结果是之前的标签被打印并在新标签之前停止。
- 这会导致一种总是落后一个标签的虚拟排队。
If it was a multi-label print job PF 2
or more, the first label would be the historic version, then it would produce the correct labels thereafter, but still one less than requested because the end position of the print job will be before the last label executes.
我有一台 Intermec PX6i 打印机。
标签代码已生成,保存为 .txt 文件并通过 TCP/IP 连接发送到打印机。
一切正常,但是执行时,它会将当前文件保存到内存并打印上一个标签。
这意味着我必须执行两次打印才能获得我请求的标签。由于这是先前成功标签的副本,因此所有其他标签都会被丢弃。
即使是直接从打印机控制面板的空 FEED,也会送入空标签并将其存储。然后当我请求打印作业时,打印了另一个空标签并且只保存了请求。
谁能告诉我为什么会这样?
我试过在每次请求前后清除缓冲区。缓冲区似乎被清除了,但是打印历史在某处仍然有以前的标签并且仍然重新打印它。
我试过不打印就发送文件,并用打印命令发送第二个文件,但在执行打印之前它不会替换之前的标签。
我试过用不同的标题发送文件,但这并不能代替以前的图片。
我在代码之前、代码之后甚至在单独的打印请求中都使用了
CLL
和CLEAR
命令。我试过使用和不使用
PRINTKEY
命令。把它变成ON
和OFF
,但仍然不起作用。
这是我的 CMD 代码:
PUT ftpData.txt PR1
这是标签代码:
CLIP ON
CLIP BARCODE ON
CLL
PP 0,95:AN 7
BARSET "QRCODE",1,1,4,2,2
PB "2762884799"
PP87,100:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "2762884799"
PP87,60:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "27JUL2019"
PP180,32:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "12"
PRINT KEY OFF
PF
CLL
CLEAR
RUN
CMD 结果:
ftp> open xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx.
220 EasyCoder FTP Server v.2024 ready.
ftp> user username password
331 Password required for admin.
230 User logged in.
ftp> PUT ftpData.txt PR1
200 PORT command OK.
150 Opening ASCII mode data connection for 'pr1'
226 Transfer complete.
ftp: 799 bytes sent in 0.20Seconds 3.96Kbytes/sec.
然后打印机打印,但不打印当前标签。 仅打印先前保存的标签并保存当前标签。
然后在下一次请求时,打印当前标签,仅保存下一个标签。
原来问题不在代码中,也不是 buffer/memory 问题的结果。
需要调整内部 "Print Engine" 设置。
过去,打印机每次打印后都会额外送入一张空白标签。
此外,它会在打印前缩回一点。
因此,为了解决这个问题并简化打印过程,我将 STARTADJ
更改为 0
,将 STOPADJ
更改为 -120
。
这解决了提要问题,但无意中导致了这个新的 "Reprint" 问题。
The printer basically keeps track of where the print job stopped, then adds the new request thereafter.
事件的结论:
- 通过将
STOPADJ
设置为-120
,在每个打印命令之后,它基本上将打印作业的结束位置设置在最后一个标签开始之前。 - 因此,下一个打印作业的起点在最后一个打印标签之前,因此最后一个历史标签将最先打印。
- 然后根据请求的命令和
PF
(PRINTFEED
) 执行单个打印。 - 结果是之前的标签被打印并在新标签之前停止。
- 这会导致一种总是落后一个标签的虚拟排队。
If it was a multi-label print job
PF 2
or more, the first label would be the historic version, then it would produce the correct labels thereafter, but still one less than requested because the end position of the print job will be before the last label executes.