[分享]好玩的打印命令lpr、psbook

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
Stupid kid
帖子: 416
注册时间: 2006-10-18 12:57

[分享]好玩的打印命令lpr、psbook

#1

帖子 Stupid kid » 2007-04-24 13:39

lpr:lpr submits files for printing.
lpr的manual很短,不过它提供的一个信息确实很不错的,打开http://localhost:631/help看看,这里详细介绍了lpr打印的各种方法。

双面打印功能
e.g.


lpr -o outputorder=reverse -o page-set=even file.pdf ###反向打印偶数页
lpr -o page-set=odd file.pdf ### 打印奇数页


注意:为什么要反向打印,想想应该不难知道,因为,要将原来打印出的偶数页旋转180度后,再放入打印机,而奇数页就是打印在偶数页反面的(呵呵,罗嗦了);当然转不转180度也不是绝对的,如果你是横向打印的,好像就不需要这样了!


多页打印在一张上:

参数:-o number-up=1,2,4,6,9,16……

打印风格:

这也是很重要的,就是从右往左的顺序,!
参数:-o number-up-layout=……


* -o number-up-layout=btlr; Bottom to top, left to right
* -o number-up-layout=btrl; Bottom to top, right to left
* -o number-up-layout=lrbt; Left to right, bottom to top
* -o number-up-layout=lrtb; Left to right, top to bottom (default)
* -o number-up-layout=rlbt; Right to left, bottom to top
* -o number-up-layout=rltb; Right to left, top to bottom
* -o number-up-layout=tblr; Top to bottom, left to right
* -o number-up-layout=tbrl; Top to bottom, right to left

其他的在浏览器里输入http://localhost:631/help自己吧




psbook:rearrange pages in PostScript file into signatures.

psbook通常和psnup联系起来用,前者用来打乱书的页码以达到打印成手册的目的,同时它也可以定义每一小册的页数;后者用来定义在一页上显示多少张,通常lpr的number-up也能实现这个功能!

psbook只有q和s这两个参数,s用来定义每一小册的页数,要求为4的倍数;
e.g. 需先将pdf文件转换为ps格式的,这个很好办,简单一点就是选择打印的时候选择打印到文件

psbook -s12 inputfile.ps outputfile.ps


输出如下:


[12] [1] [2] [11] [10] [3] [4] [9] [8] [5] [6] [7]
Wrote 12 pages, 690328 bytes


或者:


[12] [1] [2] [11] [10] [3] [4] [9] [8] [5] [6] [7] [24] [13] [14] [23] [22]
[15] [16] [21] [20] [17] [18] [19] [36] [25] [26] [35] [34] [27] [28] [33]
[32] [29] [30] [31] [48] [37] [38] [47] [46] [39] [40] [45] [44] [41] [42]
[43] [60] [49] [50] [59] [58] [51] [52] [57] [56] [53] [54] [55] [72] [61]
[62] [71] [70] [63] [64] [69] [68] [65] [66] [67] [84] [73] [74] [83] [82]
[75] [76] [81] [80] [77] [78] [79] [96] [85] [86] [95] [94] [87] [88] [93]
[92] [89] [90] [91] [108] [97] [98] [107] [106] [99] [100] [105] [104] [101]
[102] [103] [*] [109] [110] [119] [118] [111] [112] [117] [116] [113] [114]
[115] Wrote 120 pages, 37775324 bytes


这就是打乱后的页码,想想为什么……;加上q参数就不会输出上面的页码顺序……

然后你可以用psnup来将页面转到横向,例如:

psnup -2 output.ps > output_nup.ps


或者直接用lpr命令来打印,这样你就可以做自己的小册子了!
上次由 Stupid kid 在 2008-08-24 23:46,总共编辑 4 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2007-04-24 13:50

玩晕。呵呵。
● 鸣学
头像
Stupid kid
帖子: 416
注册时间: 2006-10-18 12:57

#3

帖子 Stupid kid » 2007-04-29 13:17

eexpress 写了:玩晕。呵呵。
哈哈,好像是有点晕了,
http://twitter.com/nothining
Mail: bjdfzster@gmail.com
南京的开源活动几乎是0,希望能有人组织下(也可以拉我入伙^_^)
最近在从零开始学习Linux程序设计,加油……
回复