Linux命令提示符下的PDF操作与转换

来源: 作者:zltjiangshi
  

如果说PDF是电子纸张,那么pdftk就是电子起钉器、打孔机、粘合剂、解密指环和 X光镜片。Pdftk是一个简单的工具,可以对PDF文档进行各种日常操作。Pdftk可以让你简单而自由地操作PDF。它不需要Acrobat,并且可以运 行在 Linux, Windows, Mac OS X, FreeBSD和Solaris之上。


在Debian/Ubuntu中你可以通过apt安装pdftk:

$ sudo aptitude install pdftk


示例:
将两个或更多个PDF合并成一个新文档

$ pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

或者 (使用句柄):

$ pdftk A=1.pdf B=2.pdf cat A B output 12.pdf

或者 (使用通配符):

$ pdftk *.pdf cat output combined.pdf


将多个PDF中选定的页面分离出来并形成一个新文档

$ pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf


将PDF的第一页顺时针旋转90度

$ pdftk in.pdf cat 1E 2-end output out.pdf


将整个PDF文档的页面旋转180度

$ pdftk in.pdf cat 1-endS output out.pdf


用128位强度(默认)对一个PDF进行加密,保留所有权利(默认)

$ pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass

同上,唯一例外的是需要密码才能打开这个PDF

$ pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz

同上,例外的是允许打印(在PDF被打开以后)

$ pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing


加密一个PDF

$ pdftk secured.pdf input_pw foopass output unsecured.pdf


合并两个文件,其中一个是加密的 (输出是不加密的)

$ pdftk A=secured.pdf mydoc.pdf input_pw A=foopass cat output combined.pdf


解压PDF页面流,以便可以在文本编辑器中编辑PDF代码

$ pdftk mydoc.pdf output mydoc.clear.pdf uncompress


修复一个PDF被破坏的XREF表和流长度 (如果可能的话)

$ pdftk broken.pdf output fixed.pdf


将单个PDF文档拆分成一个个页面,并且将相关数据报告到doc_data.txt

$ pdftk mydoc.pdf burst


报告PDF文档的元数据、书签和页面标签

$ pdftk mydoc.pdf dump_data output report.txt


Poppler是一个基于xpdf-3.0代码基础的PDF渲染库。 Poppler-utils软件包包括了pdftops (PDF到Postscript的转换器), pdfinfo (PDF文档信息提取器), pdfimages (PDF图像提取器), pdftohtml (PDF到HTML的转换器), pdftotext (PDF到text的转换器), 以及pdffonts (PDF字体分析器)。


Debian/Ubuntu用户可以通过apt安装poppler:

$ sudo aptitude install poppler-utils


转换PDF到TEXT

Pdftotext将可移植文档格式(PDF)文件转换成纯文本。

$ pdftotext example.pdf example.txt

如果文本文件未指定, pdftotext将file.pdf转换成file.txt。如果文本文件是 ´-’,则文本会被送到标准输出。


转换第3到7页(包括3和7)使用:

$ pdftotext -f 3 -l 7 example.pdf example.txt


只提取第3页

$ pdftotext -f 3 -l 3 example.pdf example.txt
$ pdftotext -layout example.pdf example.txt

上面的命令可以维持原始的物理布局并按阅读顺序输出文本。

如果不想插入页面分隔符你可以设置-nopgbrk选项。

如果PDF文件有密码保护,可以设置-opw (拥有者密码)或者-upw (用户密码)选项。


从PDF提取图像
Pdfimages从可移植文档格式(PDF)文件中提取图片,保存为可移植像素图(PPM), 可移植位图(PBM), 或者JPEG文件。


Pdfimages读取PDF文件,扫描一个或多个页面,并将每一个图像写入一个名为image-root-nnn.xxx的PPM、PBM或者JPEG文件,其中nnn是图像编号,xxx是图像类型(.ppm, .pbm, .jpg)。


Pdfimages从PDF文件提取原始图像数据,不做任何额外的变化。任何PDF内容流里的旋转,剪切,颜色反转等动作都被忽略。


$ pfdimages example.pdf exampleimage

上面这个命令会从example.pdf提取所有的图像。图像会被保存为PPM格式。


使用-j选项将图像保存为JPG格式

$ pfdimages -j example.pdf exampleimage


使用-f和-l选项制定起始页和结束页。为了扫描第3至7页(包括3和7)使用:

$ pfdimages -f 3 -l 7 example.pdf exampleimage


只扫描指定的某一页使用:

$ pfdimages -f 3 -l 3 example.pdf exampleimage


如果PDF文件有密码保护使用-opw和-upw选项:

-opw 拥有着密码
-upw 用户密码


转换PDF到HTML
pdftohtml是一个将pdf文档转换成html的程序。它在当前工作目录中产生输出。


用法:

$ pdftohtml file.pdf file.html


如果你想要看到图形,需要使用 -c (也就是“complex”) 选项:

$ pdftohtml -c file.pdf file.html


转换PDF到图像

首先你的机器上必须已经安装 ImageMagick。


要在Debian/Ubuntu上安装ImageMagick可以运行下面的命令:

$ sudo aptitude install imagemagick


要将 pdf 文件转换成图像使用‘convert‘ 命令:

$ convert doc.pdf doc.jpeg


转换成 tiff

$ convert doc.pdf doc.tiff

需要更多的信息请查看这里


来源:http://segfault.in/2010/07/pdf-manipulations-and-conversions-from- linux-command-prompt/


时间:2010-07-17 11:37 来源: 作者:zltjiangshi 原文链接

好文,顶一下
(45)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量