현재 lpr을 사용하여 명령 줄에서 인쇄하고 있습니다. 파이썬 백엔드도 사용하고 있습니다.명령 줄에서 인쇄 할 페이지 수를 어떻게 알 수 있습니까?
어쨌든 특정 파일에 대해 얼마나 많은 페이지가 인쇄되고 인쇄되는지 확인할 수 있습니까?
현재 lpr을 사용하여 명령 줄에서 인쇄하고 있습니다. 파이썬 백엔드도 사용하고 있습니다.명령 줄에서 인쇄 할 페이지 수를 어떻게 알 수 있습니까?
어쨌든 특정 파일에 대해 얼마나 많은 페이지가 인쇄되고 인쇄되는지 확인할 수 있습니까?
RIP (Raster Image Processor)를 통해 작업을 전달하는 것보다 쉬운 방법은 없습니다. Linux 및 Unix에서 인쇄 작업은 PostScript 파일로 전달됩니다. PostScript는 실제로 완벽하게 구현 된 Turing 완전한 프로그래밍 언어입니다. 즉, Halting Problem이 적용됩니다.
그래서 유일한 옵션은 PostScript RIP (래스터 이미지 프로세서)를 통과 시켜서 얼마나 많은 페이지가 나오는지 확인하는 것입니다. 시간 초과를 추가하는 것을 잊지 마십시오.
Ghostscript는 그런 RIP이며 null 페이지 출력 장치를 제공합니다. 이는 주로 페이지 계산에 적합합니다. 첫 번째 명령이 사용자 입력을 기다리지 않습니다하는 방식으로 에게 고스트를 호출 timeout
명령을 사용하여 다음 명령 줄
timeout 120s gs -dNOPAUSE -dBATCH -dSAFER -sDEVICE=nullpage <file> \
| egrep '^Page' \
| wc -l
를 사용하여, 하나에 전체 파일을 처리하지 않습니다 알려진 안전하지 않은 기능과 생산 래스터 출력 없음. 이 파이프를 grep으로 연결하면 진단 출력의 라인이 gs
이고 Page
으로 시작합니다. 하나의 라인이 각 페이지에 대해 생성됩니다. 마지막으로 일치하는 총 줄 수를 계산하려면 wc
을 통해 파이프됩니다. 120 초 후에 gs
이 끝나지 않으면 중단됩니다.
여전히 악의적 인 포스트 스크립트 파일 (-dSAFER
포함)의 영향을 받기 쉽습니다.