歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下PDF操作與轉換

Linux下PDF操作與轉換

日期:2017/2/28 13:54:13   编辑:Linux教程

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

Copyright © Linux教程網 All Rights Reserved