LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2810|回复: 9

linux下面有没有将2页或4页打印到一页纸上的工具?

[复制链接]
发表于 2004-2-9 11:34:38 | 显示全部楼层 |阅读模式
现在换了个打印机,可以在linux下面用,但是找不到类似windows下面fineprint
 楼主| 发表于 2004-2-9 15:23:49 | 显示全部楼层
搞定了

作成ps,然后psnup
发表于 2004-2-10 12:33:33 | 显示全部楼层
兄弟能不能讲讲详细的制作过程?很想知道,谢了先。
 楼主| 发表于 2004-2-10 15:10:14 | 显示全部楼层
我在linux下面打印的都是pdf文档,我只找到对ps文档的处理,所以我是先转成ps格式,然后psnup将文档缩印,接着用psselect分成奇数页文档和偶数页文档,再分别打印。具体操作如下:

1. pdf2ps file.pdf file.ps #将pdf文档转成ps文档
2. psnup -2 file.ps file-1.ps #2页缩印成一页
3. psselect -r -e file-1.ps file-1-even.ps #把缩印后的文件的偶数页按逆序提取出来
4. psselect -o file-1.ps file-1-odd.ps #把缩印后的文件奇数页提取出来
5. lpr file-1-even.ps #先打印偶数页,这是按逆序打的
6. lpr file-1-odd.ps #然后将刚才打印过的页面翻过来,在背面打奇数页,这是顺序打的

不过有一点问题,第2步出来的结果页边距为0,要调一下吧,我没有试
发表于 2004-2-10 23:16:14 | 显示全部楼层
Try mpage
 楼主| 发表于 2004-2-11 08:32:14 | 显示全部楼层
mpage只能合并文本,不能处理pdf阿
发表于 2004-2-13 13:21:52 | 显示全部楼层
a2ps
发表于 2006-6-3 22:36:57 | 显示全部楼层
太棒了! 潜水这么常时间忍不住出来顶一下!!

整个互联网也就你这篇文章介绍的最实用了

稍微补充下我遇到的问题:

在ubuntu breezy 使用中出现了如下问题:

psnup文件居然是perl脚本,分别位于/usr/bin/psnup,/usr/local/bin/psnup,/usr/bin/X11/psnup
不能分页,不知道写这个脚本的哥们是什么"居心"
我又从redhat服务器上拷贝了psnup,psselect才搞定


另外关于psselect,可以选择单数偶数页-o(odd),-e(even)
另外可以选择页数范围,
-p3,9(3页和9页)
-p3-9(3,4,5,6...9页)
psnup 加-d参数可以添加边框


对于我喜欢缩印,并分开打印来说可以按照这样的顺序:
第一步用pdf2ps转一下
第二步用psselect选择要打的页
第三步用psnup缩印
第四步.....
....
...
干嘛呢?你没有打印机吗?



Post by scopio
我在linux下面打印的都是pdf文档,我只找到对ps文档的处理,所以我是先转成ps格式,然后psnup将文档缩印,接着用psselect分成奇数页文档和偶数页文档,再分别打印。具体操作如下:

1. pdf2ps file.pdf file.ps #将pdf文档转成ps文档
2. psnup -2 file.ps file-1.ps #2页缩印成一页
3. psselect -r -e file-1.ps file-1-even.ps #把缩印后的文件的偶数页按逆序提取出来
4. psselect -o file-1.ps file-1-odd.ps #把缩印后的文件奇数页提取出来
5. lpr file-1-even.ps #先打印偶数页,这是按逆序打的
6. lpr file-1-odd.ps #然后将刚才打印过的页面翻过来,在背面打奇数页,这是顺序打的

不过有一点问题,第2步出来的结果页边距为0,要调一下吧,我没有试
回复 支持 反对

使用道具 举报

发表于 2006-6-4 00:35:12 | 显示全部楼层
KDE 内的 kprinter 早已内建此功能了

mpage 可以先将 ps 转成两页或者多页的 ps 之後才用 ps2pdf 换成 pdf 格式就行
回复 支持 反对

使用道具 举报

发表于 2006-6-4 02:05:03 | 显示全部楼层
没有这么夸张吧?用了这么些步骤?:%

cups的lp/lpr早就有选项可以这么指定打印格式的,其它选项也丰富得一塌糊涂。
如果你不嫌弃命令行就这样:

  1. lp -o number-up=n -o number-up-layout=value -o sides=two-sided-short-edge filename
复制代码

上面的n可以1, 2, 4, 6, 9, 16,
number-up-layout用于控制页面布局的,value可以是:
btlr; Bottom to top, left to right
btrl; Bottom to top, right to left
lrbt; Left to right, bottom to top
lrtb; Left to right, top to bottom (default)
rlbt; Right to left, bottom to top
rltb; Right to left, top to bottom
tblr; Top to bottom, left to right
tbrl; Top to bottom, right to left

two-sided-short-edge可以改成two-sided-long-edge

嫌烦就用alias
基本常用的就这些了,如果想控制的花里胡哨,看cups的文档吧,只要你能用web管理cups,就可以在http://localhost:631/下找到documentation这一项。

另外贴上我的vimrc里面关于打印的控制,省得用vim的兄弟姐妹们花时间摸索,大家别完全照套,根据个人喜好修改。emacs原来有个配置文件,现在找不着了

  1. " For printing with an economic mode - 2 document pages in 1 printed page
  2. :set pfn=courier\ 6
  3. ":set pdev=Cups-pdf
  4. :set pexpr=system('lpr\ -o\ number-up=2\ -o\ prettyprint'\ .\ (&printdevice\ ==\ ''\ ?\ ''\ :\ '\ -P'\ .\ &printdevice)\ .\ '\ '\ .\ v:fname_in)\ .\ delete(v:fname_in)\ +\ v:shell_error
  5. :set printoptions=duplex:short,syntax:n
复制代码


PS:说"整个互联网也就你这篇文章介绍的最实用了"的兄弟去互联网上搜过了吗? 我这还没去互联网(本地的cups文档)就找到解决方案了。 (开个玩笑,别介意:cool: )
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表