ArcticLampyrid / winprint.rs

A crate for printing to a Windows printer device using Windows API.
https://crates.io/crates/winprint
BSD 3-Clause "New" or "Revised" License
6 stars 4 forks source link

brother 牌子 打印机报错。 #3

Open letian-tang opened 1 week ago

letian-tang commented 1 week ago

brother 的PrintCapabilities有自定义标签。 当调用PTMergeAndValidatePrintTicket会报错 image

报错如下

MergePrintTicketsFailed: Base ticket: Duplicate definitions exist for feature or parameter JobPrintSpeed. - Error: 这项操作不接受建议 MergePrintTicketsFailed: XML 文档必须包含一个顶层元素。 (0,0)f514e38s exist for feature or parameter JobPrintSpeed.ion = - Error: XML 文档必须包含一个顶层元素。 (0x80040003)

brother_printCapabilities.xm.zip

使用wps,chrome打印正常

ArcticLampyrid commented 1 week ago

这个报错应该出现在 PrintTicketBuilder::merge 中,方便的话可以提供一下两个 PrintTicket 吗

letian-tang commented 1 week ago

这个报错应该出现在 PrintTicketBuilder::merge 中,方便的话可以提供一下两个 PrintTicket 吗

是的,发生在PTMergeAndValidatePrintTicket,merge没什么特殊的,合并打印尺寸

我看同样的命令发给爱普生打印机,没有设置JobPrintSpeed,默认会生成

而brother在”打印功能“中这样定义的,自定义标签brpsk。brother_printCapabilities.xm.zip

环保设置 psk:PickOne 使用设备设置

我猜测printTicket可能是生成了2个JobPrintSpeed,1个ns0000:JobPrintSpeed还有一个brpsk:JobPrintSpeed导致冲突。