Linux下PDF操作与转换
分類:?LINUX
如果說PDF是電子紙張,那么pdftk就是電子起釘器、打孔機(jī)、粘合劑、解密指環(huán)和 X光鏡片。Pdftk是一個(gè)簡單的工具,可以對(duì)PDF文檔進(jìn)行各種日常操作。Pdftk可以讓你簡單而自由地操作PDF。它不需要Acrobat,并且可以運(yùn)行在 Linux, Windows, Mac OS X, FreeBSD和Solaris之上。在Debian/Ubuntu中你可以通過apt安裝pdftk:
$ sudo aptitude install pdftk
將兩個(gè)或更多個(gè)PDF合并成一個(gè)新文檔
或者 (使用句柄):
$ pdftk A=1.pdf B=2.pdf cat A B output 12.pdf或者 (使用通配符):
$ pdftk *.pdf cat output combined.pdf
將多個(gè)PDF中選定的頁面分離出來并形成一個(gè)新文檔
$ pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdf
將PDF的第一頁順時(shí)針旋轉(zhuǎn)90度
$ pdftk in.pdf cat 1E 2-end output out.pdf
將整個(gè)PDF文檔的頁面旋轉(zhuǎn)180度
$ pdftk in.pdf cat 1-endS output out.pdf
用128位強(qiáng)度(默認(rèn))對(duì)一個(gè)PDF進(jìn)行加密,保留所有權(quán)利(默認(rèn))
$ pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass同上,唯一例外的是需要密碼才能打開這個(gè)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
加密一個(gè)PDF
$ pdftk secured.pdf input_pw foopass output unsecured.pdf
合并兩個(gè)文件,其中一個(gè)是加密的 (輸出是不加密的)
$ pdftk A=secured.pdf mydoc.pdf input_pw A=foopass cat output combined.pdf
解壓PDF頁面流,以便可以在文本編輯器中編輯PDF代碼
$ pdftk mydoc.pdf output mydoc.clear.pdf uncompress
修復(fù)一個(gè)PDF被破壞的XREF表和流長度 (如果可能的話)
$ pdftk broken.pdf output fixed.pdf
將單個(gè)PDF文檔拆分成一個(gè)個(gè)頁面,并且將相關(guān)數(shù)據(jù)報(bào)告到doc_data.txt
$ pdftk mydoc.pdf burst
報(bào)告PDF文檔的元數(shù)據(jù)、書簽和頁面標(biāo)簽
$ pdftk mydoc.pdf dump_data output report.txt
Poppler是一個(gè)基于xpdf-3.0代碼基礎(chǔ)的PDF渲染庫。 Poppler-utils軟件包包括了pdftops (PDF到Postscript的轉(zhuǎn)換器), pdfinfo (PDF文檔信息提取器), pdfimages (PDF圖像提取器), pdftohtml (PDF到HTML的轉(zhuǎn)換器), pdftotext (PDF到text的轉(zhuǎn)換器), 以及pdffonts (PDF字體分析器)。Debian/Ubuntu用戶可以通過apt安裝poppler:
$ sudo aptitude install poppler-utils
轉(zhuǎn)換PDF到TEXT
Pdftotext將可移植文檔格式(PDF)文件轉(zhuǎn)換成純文本。
$ pdftotext example.pdf example.txt如果文本文件未指定, pdftotext將file.pdf轉(zhuǎn)換成file.txt。如果文本文件是 ?-’,則文本會(huì)被送到標(biāo)準(zhǔn)輸出。
轉(zhuǎn)換第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上面的命令可以維持原始的物理布局并按閱讀順序輸出文本。如果不想插入頁面分隔符你可以設(shè)置-nopgbrk選項(xiàng)。如果PDF文件有密碼保護(hù),可以設(shè)置-opw?(擁有者密碼)或者-upw(用戶密碼)選項(xiàng)。
從PDF提取圖像
Pdfimages從可移植文檔格式(PDF)文件中提取圖片,保存為可移植像素圖(PPM), 可移植位圖(PBM), 或者JPEG文件。Pdfimages讀取PDF文件,掃描一個(gè)或多個(gè)頁面,并將每一個(gè)圖像寫入一個(gè)名為image-root-nnn.xxx的PPM、PBM或者JPEG文件,其中nnn是圖像編號(hào),xxx是圖像類型(.ppm, .pbm, .jpg)。Pdfimages從PDF文件提取原始圖像數(shù)據(jù),不做任何額外的變化。任何PDF內(nèi)容流里的旋轉(zhuǎn),剪切,顏色反轉(zhuǎn)等動(dòng)作都被忽略。
上面這個(gè)命令會(huì)從example.pdf提取所有的圖像。圖像會(huì)被保存為PPM格式。
使用-j選項(xiàng)將圖像保存為JPG格式
$ pfdimages -j example.pdf exampleimage
使用-f和-l選項(xiàng)制定起始頁和結(jié)束頁。為了掃描第3至7頁(包括3和7)使用:
$ pfdimages -f 3 -l 7 example.pdf exampleimage
只掃描指定的某一頁使用:
$ pfdimages -f 3 -l 3 example.pdf exampleimage如果PDF文件有密碼保護(hù)使用-opw和-upw選項(xiàng):
-opw 擁有著密碼
-upw 用戶密碼
轉(zhuǎn)換PDF到HTML
pdftohtml是一個(gè)將pdf文檔轉(zhuǎn)換成html的程序。它在當(dāng)前工作目錄中產(chǎn)生輸出。
用法:
$ pdftohtml file.pdf file.html
如果你想要看到圖形,需要使用 -c (也就是“complex”) 選項(xiàng):
$ pdftohtml -c file.pdf file.html
轉(zhuǎn)換PDF到圖像
首先你的機(jī)器上必須已經(jīng)安裝 ImageMagick。要在Debian/Ubuntu上安裝ImageMagick可以運(yùn)行下面的命令:
$ sudo aptitude install imagemagick
要將?pdf?文件轉(zhuǎn)換成圖像使用‘convert‘ 命令:
$ convert doc.pdf doc.jpeg
轉(zhuǎn)換成?tiff
$ convert doc.pdf doc.tiff總結(jié)
以上是生活随笔為你收集整理的Linux下PDF操作与转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 河南农大姚文与中科院北京基因组所章张课题
- 下一篇: 计算机重复启动问题原因及修复