コマンドラインから特定のページを印刷する方法は?

コマンドラインから特定のページを印刷する方法は?

コマンドラインからPDFファイル(または複数のファイル)をプリンタに送信し、奇数ページのみを印刷する方法はありますか?たとえば、lpr -{some option} *.pdfまたはおそらく{some command to get odd-numbered pages} *.pdf | lpr。これは、各ファイルを開いて印刷ダイアログを開き、1、3、5、7、9ページを印刷するように指示するよりも高速です。アイデアは、奇数ページをすべて印刷してから、偶数ページのうち他のページを印刷できることです。横。

答え1

努力する

lpr -o page-set=odd <file>
lpr -o page-set=even <file>

このオプションと他のlprオプションに関するドキュメントは、以下にあります。カップ文書

答え2

fschmitt が提供する cup ソリューションの代替手段 (たとえば、一部の制限された lpr のみが使用可能な場合) は、次のコマンドです。

たとえば、両面印刷装置がないプリンタで手動両面印刷を実行する場合は、次のようになります。

$ psselect -e -r < foo.ps | lpr
$ # manually rotate pages by 180 degrees and reinsert
$ psselect -o < foo.ps | lpr

さて、プリンタにしっかりとした用紙搬送機構がある場合にのみ機能します。

-e 偶数ページのみ選択、-o 奇数ページ、-r 選択反転

答え3

PDFを前処理することを選択した場合(たとえば、印刷フレームワークがCUPSではなくページ選択をサポートしていないため)、次のものを使用できます。pdftk

pdftk A=foo.pdf cat Aodd output - | lpr
# take out the sheets and feed them back in
pdftk A=foo.pdf cat Bend-1even output - | lpr

プリンタの価格がどれほど安いかによっては、奇数ページを逆に印刷し、偶数ページを順番に印刷する必要があります。end-1別のコマンドに移動します。文書のページ数が奇数の場合は、文書の山から最後のページを削除して再送信しないでください。

関連情報