У меня есть принтер этикеток (Brother QL-550), подключенный к Raspberry Pi с использованием чашек. Это работает. У меня также есть настольный компьютер и я добавил этот принтер (это необходимо, потому что иначе Gnome не помнит, какой принтер использовать).
Теперь, когда я пытаюсь распечатать с настольного компьютера, файл там растеризуется, а затем отправляется в Pi с типом файла application/vnd.cups-pdf
который попытается снова растеризовать его, что, очевидно, не удается. Итак, как я могу научить настольный компьютер либо не выполнять локальную растеризацию (я бы предпочел это), либо установить правильный тип файла, чтобы Pi перенаправлял двоичные данные непосредственно на USB-принтер?
Для справки, это заголовок файла PPD, который предположительно необходимо исправить:
*FormatVersion: "4.3"
*FileVersion: "1.1"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*PCFileName: "BRQ550PT.PPD"
*Manufacturer: "Brother"
*Product: "(QL-550)"
*cupsVersion: 1.0
*cupsManualCopies: True
*cupsModelNumber: 2
*cupsFilter: "application/vnd.cups-postscript 100 foomatic-rip"
*cupsFilter: "application/vnd.cups-pdf 0 foomatic-rip"
*%pprRIP: foomatic-rip other
*ModelName: "Brother QL-550"
*ShortNickName: "Brother QL-550 ptouch"
*NickName: "Brother QL-550 Foomatic/ptouch (recommended)"
*PSVersion: "(3010.000) 550"
*PSVersion: "(3010.000) 651"
*PSVersion: "(3010.000) 652"
*PSVersion: "(3010.000) 653"
*PSVersion: "(3010.000) 704"
*PSVersion: "(3010.000) 705"
*PSVersion: "(3010.000) 800"
*PSVersion: "(3010.000) 815"
*PSVersion: "(3010.000) 850"
*PSVersion: "(3010.000) 860"
*PSVersion: "(3010.000) 861"
*PSVersion: "(3010.000) 862"
*PSVersion: "(3010.000) 863"
*PSVersion: "(3010.000) 864"
*PSVersion: "(3010.000) 870"
*LanguageLevel: "3"
*ColorDevice: False
*DefaultColorSpace: Gray
*FileSystem: False
*Throughput: "1"
*LandscapeOrientation: Plus90
*TTRasterizer: Type42
*1284DeviceID: "MFG:Brother;MDL:QL-550;CMD:PT-CBP;DRV:Dptouch,R1,M0,TF;"
*driverName ptouch: ""
*driverType F/Filter: ""
*driverObsolete: False
*HWMargins: 4.25 8.50 4.25 8.5
*VariablePaperSize: True
*MaxMediaWidth: 100000
*MaxMediaHeight: 100000
*NonUIOrderDependency: 100 AnySetup *CustomPageSize
*CustomPageSize True: "pop pop pop
<</PageSize [ 5 -2 roll ] /ImagingBBox null>>setpagedevice"
*End
*ParamCustomPageSize Width: 1 points 36 100000
*ParamCustomPageSize Height: 2 points 36 100000
*ParamCustomPageSize Orientation: 3 int 0 0
*ParamCustomPageSize WidthOffset: 4 points 0 0
*ParamCustomPageSize HeightOffset: 5 points 0 0
*FoomaticIDs: Brother-QL-550 ptouch
*FoomaticRIPCommandLine: "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPA&&
USE -dNOINTERPOLATE -sDEVICE=cups %A%Z -sOutputFile=- - | rastertoptch&&
dummyjob dummyuser dummytitle 1 '%B'"
*End
[ lots of option setting omitted ]
Теперь, конечно, я могу просто заменить FoomaticRIPCommandLine
на "cat"
в удаленных системах, и все работает, но я бы хотел решение, которое предоставляет один PPD, который работает как на машинах с прямым подключением, так и на машинах с удаленной печатью.