lpr: "3부터 끝까지" 페이지 범위를 지정하는 방법은 무엇입니까?

lpr: "3부터 끝까지" 페이지 범위를 지정하는 방법은 무엇입니까?

이것CUPS 문서"3부터 끝까지"와 같이 페이지 범위를 지정하는 방법은 없습니다. 문서의 페이지 수를 모르고도 이 작업을 수행할 수 있습니까? 너무 비슷해요 lpr -o page-ranges=3-end -P myprinter?

답변1

LPR 범위

"끝" 비트에 대해서는 잘 모르겠지만 시리즈의 마지막 페이지 번호를 알고 있다면 다음을 시도해 볼 수 있습니다.

$ lpr -P myprinter -o page-ranges=3-10

옵션

프린터에 쿼리하여 제공되는 옵션을 확인할 수 있습니다.

$ lpoptions -p <printer name> -l

$ lpoptions -p mfc-8480dn -l
OptionTrays/Number of Input Trays: 1Trays *2Trays
PageSize/Media Size: *Letter Legal Executive A4 A5 A6 Env10 EnvMonarch EnvDL EnvC5 EnvISOB5 EnvISOB6
BrMediaType/BrMediaType: *PLAIN THIN THICK THICKERPAPER2 BOND TRANSPARENCIES ENV ENVTHICK ENVTHIN
InputSlot/InputSlot: MPTRAY TRAY1 TRAY2 *AUTO
Duplex/Duplex: DuplexTumble DuplexNoTumble *None
Resolution/Resolution: 300dpi *600dpi 2400x600dpi 1200dpi
TonerSaveMode/Toner Save: *Off On
Sleep/Sleep Time [Min.]: *PrinterDefault 2minutes 10minutes 30minutes

시집

PS(포스트스크립트) 스트림이 있고 이 명령으로 전송하려는 경우 이 명령을 사용하여 포스트스크립트 스트림에서 페이지 범위를 선택할 lpr수 있습니다 .psselect

견본

  • PDF: 여기에서 샘플 PDF 파일을 사용할 수 있습니다.예.pdf
  • 텍스트: 다음과 같이 샘플 .txt 파일을 만들 수 있습니다.

    $ seq 1000 > example.txt
    

텍스트

스크립트 사용

$ enscript sample.txt -o - | psselect -p3- | ps2pdf - textfile.pdf
[ 16 pages * 1 copy ] left in -
[3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] 
Wrote 14 pages, 30417 bytes

$ enscript sample.txt -o - | psselect -p3-5 | ps2pdf - textfile.pdf
[ 16 pages * 1 copy ] left in -
[3] [4] [5] Wrote 3 pages, 16329 bytes

패스를 사용하다

$ paps sample.txt - | psselect -p3- | ps2pdf - textfile.pdf
[3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] 
Wrote 17 pages, 44159 bytes
[saml@grinchy bin]$ paps sample.txt - | psselect -p3-5 | ps2pdf - textfile.pdf
[3] [4] [5] Wrote 3 pages, 15851 bytes

PDF

$ pdftops example.pdf - | psselect -p3- | ps2pdf - pdffile.pdf
[3] [4] [5] [6] [7] [8] [9] [10] Wrote 8 pages, 687796 bytes

$ pdftops example.pdf - | psselect -p3-5 | ps2pdf - pdffile.pdf
[3] [4] [5] Wrote 3 pages, 372422 bytes

lpr로 보내기

다음과 같이 출력을 로 파이핑하는 대신 으로 ps2pdf전송 되도록 위 명령을 변경할 수 있습니다.lpr

$ pdftops example.pdf - | psselect -p3-5 | lpr -P myprinter

또 뭐야?

lprenscript또는 또는 을 사용하여 열 수를 제어 할 수 있습니다 paps. 양면 제어(양면 스타일)를 사용할 수도 있습니다 lpr.

열 2개

$ paps --columns=2 sample.txt - | psselect -p3-5 | ps2pdf - textfile.pdf
[3] [4] [5] Wrote 3 pages, 22244 bytes

$ enscript -2 sample.txt -o - | psselect -p3-5 | ps2pdf - textfile.pdf
[ 8 pages * 1 copy ] left in -
[3] [4] [5] Wrote 3 pages, 19700 bytes

$ pdftops example.pdf - | psselect -p3-5 | lpr -o number-up=2

이중

$ pdftops example.pdf - | psselect -p3-5 | lpr -o number-up=2 -o sides=two-sided-short-edge

인용하다

답변2

실제 페이지 수보다 큰 숫자를 지정하면 Cups는 페이지 수를 초과하는 요청을 무시합니다.

lpr -o page-ranges=3-999999999 …

(Cups는 2 319 밖의 숫자를 자동으로 감싸기 때문에 9 위에 s를 사용하지 마십시오 .)


이 질문을 받으면 컵스는 스스로 그것을 할 수 있습니다. 범위의 한 쪽을 놓치면 끝입니다. page-ranges=-42예, (다소 쓸모없는) 단축키입니다 page-ranges=1-42. 파일 끝까지 범위를 지정하려면 끝 부분을 비워두면 됩니다 page-ranges=3-. 아쉽게도 이 기능은 사라진 것 같습니다.

관련 정보