반응형
답변 :
이렇게 해 보자 :
- 임의의 프린터 드라이버로 프린트큐를 하나 만든다. (프린터 드라이버로는 PostScript driver/PPD 를 사용하길 권장한다. PostScript PPD 파일에는 *cupsFilter: ... 와 같은 라인이 없다.)
- 우선은 2dir 이라는 CUPS의 예시용 백엔드를 사용한다. 이건 KDE Printing Developer Tools Wiki 에서 복사해 올 수 있다. 가져올 때 파일의 line ending 을 확인하자.
- 프린트큐를 만드는 명령은 다음과 같다.
lpadmin -p pdfqueue -v 2dir:/tmp/pdfqueue -E -P /path/to/postscript-printer.ppd
2dir 백엔드는 이제 모든 출력을 /tmp/pdfqueue 디렉토리 아래에 저장할 것이다. 인쇄작업은 서로다른 이름을 갖게 된다. 각각의 결과는 일단은 포스트스크립트 파일이다. - /etc/cups/ppd/ 에 있는 이 프린터큐가 사용하는 PPD 를 찾아보자. 이름은 pdfqueue.ppd 다.
- PPD 파일의 되도록 앞부분에 다음 라인을 추가한다.
*cupsFilter: "application/pdf 0 -"
(*cupsFilter 라인의 맨 앞에 공백이 없어야 한다.) 이 라인은 cupsd 에게 PDF를 만들어내는 필터체인을 알려준다. 마지막의 - 가 백엔드를 거쳐 프린터로 보내기 전의 필터의 이름이고, - 필터는 특별한 의미를 가지는데, 입력을 그대로 출력으로 보내는 역할만 한다. (패쓰쓰루 필터) - CUPS 스케쥴러를 재시작한다.
sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist
sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
- 이제 pdfqueue 는 해당 큐로 인쇄된 모든 인쇄작업을 /tmp/pdfqueue/*.pdf 에 PDF 형식으로 저장하게 된다.
- 2dir 백엔드 스크립트를 공부해 보라. 간단한 배시스크립트이고, 코멘트도 잘 달려 있다.
- 2dir 을 수정해서 원하는대로 pdf 를 조작하여 그 결과를 /tmp/pdfqueue/*.pdf 에 저장하면 된다.
728x90
'프로그래밍 > 미분류' 카테고리의 다른 글
signal 링크 (0) | 2022.06.10 |
---|---|
virtualbox 에서 실행시킨 macOS 에서 하드웨어 가속기능으로 화면이 이상해지는 문제 (0) | 2022.06.09 |
[SO번역] CUPS 시스템에서 포스트 스크립트 드라이버 출력을 가로채기 (0) | 2022.04.06 |
[BASH] dd 표준입력을 파일로 저장 (0) | 2022.04.06 |
ac_nonexistent.h: No such file or directory (0) | 2022.03.24 |