[其它]一个将manpage转换为pdf格式的小脚本

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

[其它]一个将manpage转换为pdf格式的小脚本

#1

帖子 leeyee » 2007-07-16 14:18

因为有些命令用得很多,参数也多,我有时候需要把某些manpage打印出来拿在手上看,因此写了个将manpage转换为pdf的小脚本,名为man2pdf。脚本使用了groff和ps2pdf命令,因此能保持pdf中文本左右对齐,比直接输出要好看很多。希望能有些用:

代码: 全选

#!/bin/bash
# This script helps you to convert man page to pdf output
# Written by leeyee, China
# Updated: 3rd July, 2007
inputname=$1
outputname=$2

if [ -z "$inputname" ] || [ -z "$outputname" ]; then
   echo "Usage: man2pdf [manpage_PATH] [desired_PDF_filename.pdf]"
   exit 1
fi

outputPSname=${outputname%.*}.ps

if [ -e "$inputname" ]; then
   cat "$1" | gunzip | groff -man > $outputPSname
   ps2pdf $outputPSname
   rm -f $outputPSname
   exit 0
else 
   echo "$inputname is not exist!"
fi
假设希望转换find命令的manpage,那么:

代码: 全选

$ whereis find
        find: /usr/bin/find /usr/X11R6/bin/find /usr/bin/X11/find /usr/share/man/man1/find.1.gz
$ man2pdf /usr/share/man/man1/find.1.gz find_manpage.pdf
即可。
I would love to change the world, but they won't give me the source code.
http://hi.baidu.com/wienerlee
头像
Nile
帖子: 990
注册时间: 2006-07-15 11:20
来自: 枫叶刀市

#2

帖子 Nile » 2007-07-16 14:21

支持,学习一下。
Thinkpad T400
头像
den
帖子: 196
注册时间: 2007-06-15 21:19
来自: 上海

#3

帖子 den » 2007-07-17 22:35

楼主的方法麻烦了些 其实man本身的功能很强大 man加-t参数就能直接以groff -mandoc的格式进行输出 也不需要手动找压缩包了

还是以find为例,下面这样就可以了:

代码: 全选

man -t find > outputname
ps2pdf outputname
/****************************************************
/* Work hard, play harder.
/****************************************************
回复