首頁 > 軟體

Linux下PDF操作與轉換

2020-06-16 17:45:46

如果說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


IT145.com E-mail:sddin#qq.com