如何仅打印偶数页或奇数页(HP LaserJet 1018)

有时我打印双面文档。 因此,我首先打印奇数页然后我以相反的顺序使用相同的纸张打印偶数页(我只是在打印时检查反向)。

我手动执行此操作,这意味着我自己输入页码,如:奇数页面为1,3,5,7,9,偶数页面为2,4,6,8,10。

问题是当我想要打印大量页面时,这很难做到。 想象100页。 而且我可能会在两者之间犯一些错误。

有没有办法在ubuntu的一般打印对话框中定义奇数页?

我正在使用Ubuntu 12.10和默认的hplib进行打印。

如果您尝试从libreoffice打印,则可以选择仅打印左页或右页。

打开打印对话框,然后选择“布局”选项卡,并在页面边下拉列表中选择相应的选项。

如果要打印pdf,则文档查看器在打印对话框的页面设置选项卡下具有类似选项。

您也可以使用lp命令从命令行执行此操作:

 $ PDF_NAME='my_document.pdf' $ NUMBER_PAGES=15 # print odd pages $ lp "${PDF_NAME}" -P $(seq -s ',' 1 2 "${NUMBER_PAGES}") # print even pages: $ lp "${PDF_NAME}" -P $(seq -s ',' 2 2 "${NUMBER_PAGES}") -o outputorder=reverse # may have to add '-o orientation-requested=6' to rotate by 180° 

seq命令只输出lp命令所需的以逗号分隔的页面列表:

 $ NUMBER_PAGES=15 $ seq -s ',' 1 2 "${NUMBER_PAGES}" # -> 1,3,5,7,9,11,13,15 $ seq -s ',' 2 2 "${NUMBER_PAGES}" # -> 2,4,6,8,10,12,14 

如果您有一个定义的命令,上面的命令将打印到默认打印机。 否则,您需要找到打印机名称并在命令行中指定它:

 # find the available printers and the default printer: $ lpstat -p -d # printer my_printer is idle. enabled since ... # direct lp to use the desired printer $ lp -d my_printer ... 

如果您需要自动获取页面数(可能有更好的方法),您可以使用poppler-utils包中的pdfinfo

 $ NUMBER_PAGES=$(pdfinfo "${PDF_BOOK}" | grep 'Pages:' | cut -d ':' -f 2 | xargs)