프린터별 스크립트를 사용하여 CUPS의 "lp"를 전처리하는 방법은 무엇입니까?

프린터별 스크립트를 사용하여 CUPS의 "lp"를 전처리하는 방법은 무엇입니까?

(How) 스크립트를 이용하여 전처리를 자동화할 수 있나요 lp? ( ) fileToPrint | script.sh | lp -d myPrinter사이의 파이핑은 나에게 lp( )을 직접 수행하는 소스 코드가 많고 lp -d myPrinter filetoPrint특히 스크립트에 특정 프린터 하나만 필요하기 때문에 현재로서는 이를 변경할 의도가 없기 때문에 옵션이 아닙니다.

lpoption나는 (pseduocode)라고 말할 수 있는 이와 같은 것을 생각하고 있습니다 preprocess myPrinter with script.sh(myOtherPrinter가 아닌 myPrinter에만 해당).

이것이 가능한가?

답변1

당신은 할 수나만의 백엔드 작성전처리를 실행한 다음 일반적으로 사용하는 실제 백엔드에 전달합니다. 프린터를 설정할 때 URI에 사용자 정의 백엔드를 사용하게 됩니다.

저는 실제로 CUPS가 로컬 패치 LPRng 서버로 인쇄할 수 있도록 허용하는 것과 비슷한 작업을 수행했습니다.

답변2

나는 우연히 tea4cups(Debian에서 Package is cups-tea4cups) 다음과 같이 내가 원하는 것을 정확하게 수행할 수 있다는 것을 발견했습니다.

# tea4cups.conf
[myprinter] # just the cups printer name
filter: mycommand
# pipes everything though mycommand, like "<input> | mycommand | lp"
# if the printer URI is prefixed with 'tea4cups://'

관련 정보