2021-05-12 14:32:11
Linux下PDF操作與轉換
如果說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://www.linuxidc.com/Linux/2016-03/128863.htm
相關文章