标签归档:pdf

一句话实现PDF文件减肥

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=”outfile.pdf” “infile.pdf”

其中infile.pdf和outfile.pdf分别是输入、输出文件名。

还可以将其写成一个脚本,比如叫compresspdf
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=”$2″ “$1”
添加可执行权限,放入执行文件目录
compress infile.pdf outfile.pdf

注:参考了nautilus的PDF压缩脚本,参见http://www.ubuntuhome.com/compress-pdf.html

pdf文件自动剪裁(自动切白边)

可能用到的环境、工具:Ubuntu 10.04+TeXLive 2008+pdfcrop+CUPS打印驱动,用Windows的兄弟就不用看了,这些工具理论上在Windows下也有,但是还要另外装不少东西。

下面假设原文件(也就是打算切白边的文件)叫abc.pdf

  1. pdfcrop abc.pdf,默认会生成abc-crop.pdf文件,这个已经是切掉白边的了,要是你不嫌它大(或者它确实不大)的话,就完成了。
  2. 用阅读器(如evince)打开abc-crop.pdf,并通过CUPS打印到文件,打印时注意关闭所有和页面缩放有关的命令,并选中“使用文档的页面尺寸作为页面尺寸”。打印,完成。

说明:

  1. pdfcrop其实是TeXLive自带的。本质上是一个perl脚本。
  2. pdfcrop要调用gs(ghostscript)确定每页的白边大小。对于空白页,会报错,忽略即可。
  3. pdfcrop还可以在切的时候留若干像素,具体请–help。
  4. pdfcrop要调用pdftex以生成切白边后的文件。
  5. pdfcrop本质上(猜想,没有阅读源码)是先将abc.pdf展开成单页的pdf,调用gs切白边,再用tex文件直接调用pdf页面,最后用pdftex生成输出。
  6. pdfcrop直接生成的文件一般是原文件的20倍以上(本人测试的几个文件均是如此),虚拟打印到新的文件后,基本可以恢复到与原文件同样数量级的尺寸。
  7. 测试都是使用的内嵌字体的中英文PDF。扫描版的没试,估计够呛。

5月27日更新:
使用这个脚本PDF压缩脚本-Compress PDF,代替上面的第2步。简单,效果不错。

Beamer文档中添加PDF文档信息(PDF document information)

默认参数下,Beamer宏包可以将文档的\title{}和\author{}字段的内容自动加入PDF文档信息(PDF document information)的相应字段中,如果还想添加主题和关键字等信息,可以使用\subject{}和\keywords{}命令。但是由于Beamer用的是hyperref宏包来实现这些功能,而hyperref宏包的这一功能并不支持中文。所以,如果你的幻灯片是中文标题、中文作者,那么PDF文档信息中将出现乱码。

一个可以接受的解决方案是,正文中仍然使用中文,但向PDF文档信息中添加英文信息。要实现这一点并不难,只需要先禁止Beamer自动添加这些信息,再由手工添加即可。具体做法如下:

  1. 使用参数usepdftitle,禁止Beamer自动添加这些信息,比如这样:\documentclass[usepdftitle=false,mathserif]{beamer}
  2. 手工添加相应信息,比如这样:

\hypersetup{CJKbookmarks=true,%
                pdftitle={Computer Simulation},%
                pdfauthor={Mao Ziyang},%
                pdfcreator={amao@ai7.org},%
                pdfsubject={Computer Simulation},%
                pdfkeywords={simulation}
                }

关于\hypersetup命令的其他信息,请参考:使用pdfLaTeX时,添加PDF文件属性的方法

Scribd.com-在线的文档阅读器

  不需要额外安装任何插件, Scribd.com 可以将你上传的文档转换为所谓“iPaper”,马上就可以开始阅读。目前 Scribd.com 支持的格式有:

  • MS的doc、ppt、xls
  • PDF、PS
  • OpenOffice的odt、odp、sxw、sxi等等
  • jpg、jpeg、png、gif
  • txt、rtf

相当的丰富,基本上常见的都在这里了。而且,Scribd.com 还有一定的转换功能,比如你上传的是 doc 文件,那么除了可以下载原始的 doc 文件,还可以下载 PDF 和纯文本文件。(不要指望上传的是 PDF 文件,而下载 doc 文件)

  但是把 Scribd.com 称为“在线的文档阅读器”是不正确的,至少是不完整的。Scribd.com 是在线的文档分享平台,每个人都可以上传原创的内容,并且很容易与他人分享。上传的文件可以自己看,可以在 Scribd.com 上与其他人共享,可以发送给朋友,可以嵌入到其他网页,可以提交到Digg、del.icio.us、MyYahoo等平台……
  虽然 Scribd.com 明确强调用户只能上传自己拥有版权的文件,但是据本人观察,仍然存在大量版权可能有问题的内容。