陛下请自重 小公主降生:Linux命令提示符下的PDF操作与转换

来源:百度文库 编辑:九乡新闻网 时间:2024/04/25 20:21:32
如果说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
英文原版:
f PDF is electronic paper, then pdftk is an electronic staple-remover, hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. Pdftk is a simple tool for doing everyday things with PDF documents. Pdftk allows you to manipulate PDF easily and freely. It does not require Acrobat, and it runs on Linux, Windows, Mac OS X, FreeBSD and Solaris.In Debian/Ubuntu you can install pdftk via apt:
$ sudo aptitude install pdftk
Examples:
Merge Two or More PDFs into a New Document
$ pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
or (Using Handles):
$ pdftk A=1.pdf B=2.pdf cat A B output 12.pdf
or (Using Wildcards):
$ pdftk *.pdf cat output combined.pdf
Split Select Pages from Multiple PDFs into a New Document
$ pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf
Rotate the First Page of a PDF to 90 Degrees Clockwise
$ pdftk in.pdf cat 1E 2-end output out.pdf
Rotate an Entire PDF Document’s Pages to 180 Degrees
$ pdftk in.pdf cat 1-endS output out.pdf
Encrypt a PDF using 128-Bit Strength (the Default) and Withhold All Permissions (the Default)
$ pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass
Same as Above, Except a Password is Required to Open the PDF
$ pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz
Same as Above, Except Printing is Allowed (after the PDF is Open)
$ pdftk mydoc.pdf output mydoc.128.pdf owner_pw foo user_pw baz allow printing
Decrypt a PDF
$ pdftk secured.pdf input_pw foopass output unsecured.pdf
Join Two Files, One of Which is Encrypted (the Output is Not Encrypted)
$ pdftk A=secured.pdf mydoc.pdf input_pw A=foopass cat output combined.pdf
Uncompress PDF Page Streams for Editing the PDF Code in a Text Editor
$ pdftk mydoc.pdf output mydoc.clear.pdf uncompress
Repair a PDF’s Corrupted XREF Table and Stream Lengths (If Possible)
$ pdftk broken.pdf output fixed.pdf
Burst a Single PDF Document into Single Pages and Report its Data to doc_data.txt
$ pdftk mydoc.pdf burst
Report on PDF Document Metadata, Bookmarks and Page Labels
$ pdftk mydoc.pdf dump_data output report.txt
Poppler is a PDF rendering library based on the xpdf-3.0 code base. The poppler-utils package contains pdftops (PDF to PostScript converter), pdfinfo (PDF document information extractor), pdfimages (PDF image extractor), pdftohtml (PDF to HTML converter), pdftotext (PDF to text converter), and pdffonts (PDF font analyzer).
Debian/Ubuntu users can install pdftk via apt:
$ sudo aptitude install poppler-utils
Convert PDF to TEXT
Pdftotext converts Portable Document Format (PDF) files to plain text.
$ pdftotext example.pdf example.txt
If textfile is not specified, pdftotext converts file.pdf to file.txt.  If text-file is ′-’, the text is sent to stdout.
To convert  page  from 3 to 7 (including 3 and 7) use:
$ pdftotext -f 3 -l 7 example.pdf example.txt
To extract only 3rd page
$ pdftotext -f 3 -l 3 example.pdf example.txt
$ pdftotext -layout example.pdf example.txt
Maintain the original physical layout of the text and output the text in reading order.
Set the  -nopgbrk option if you don’t want insert page breaks.
Uset -opw (owner password) or -upw (user password) options if the PDF file is password protected.
Extract Images From PDF
Pdfimages saves images from a Portable Document Format (PDF) file as Portable Pixmap (PPM), Portable Bitmap (PBM), or JPEG files.
Pdfimages reads the PDF file, scans one or more pages, and writes one PPM, PBM, or JPEG file for each image, image-root-nnn.xxx, where nnn is the image number and xxx is the image type (.ppm, .pbm, .jpg).
Pdfimages extracts the raw image data from the PDF file, without performing any additional transforms. Any rotation, clipping, color inversion, etc. done by the PDF content stream is ignored.
$ pfdimages example.pdf exampleimage
The above command will extract all images from example.pdf. The images will be saved in PPM format.
Use -j option to save images as JPG format
$ pfdimages -j example.pdf exampleimage
Use the -f and -l options to specify the startpage and lastpage to scan. To scan pages 3 to 7 (including 3 and 7) use:
$ pfdimages -f 3 -l 7 example.pdf exampleimage
To scan only one specific page use:
$ pfdimages -f 3 -l 3 example.pdf exampleimage
If the PDF file is password protected use -opw or -upw option:
-opw Owner password
-upw User password
Convert PDF to HTML
pdftohtml is a program that converts pdf documents into html. It generates its output in the current working directory.
Usage:
$ pdftohtml file.pdf file.html
If you want to see graphics, you’ll need to use the -c (as in “complex”) option:
$ pdftohtml -c file.pdf file.html
Convert PDF to Image
First you need to have ImageMagick installed in your machine.
To install ImageMagick in Debian/Ubuntu run the following command:
$ sudo aptitude install imagemagick
To convert pdf file to image use the ‘convert‘ command:
$ convert doc.pdf doc.jpeg
convert to tiff
$ convert doc.pdf doc.tiff
文章引自:http://www.linuxeden.com/html/softuse/20100717/103836.html
http://segfault.in/2010/07/pdf-manipulations-and-conversions-from-linux-command-prompt/
分享     
0

阅读(80)┊ 评论 (1)┊ (0) ┊转载 ┊  ┊打印┊举报
已投稿到: 排行榜 圈子(精)
前一篇:修复Ubuntu 10.04的GRUB
后一篇:Ubuntu打开windows下的TXT文件乱码