強大的pdf檔案操作小工具 PDFtk

2022-06-10 04:12:13 字數 2985 閱讀 1837

內容**自部落格

在做專案中,是會經常遇到pdf合併,加水印等類似需求的。

pdftk(官網:是一款國外開發的軟體,目標是使pdf更容易操作。官網上掛著一些客戶軟體的核心功能其實也是要收費才能用,但是它有乙個伺服器版本是免費的,這就是本篇文章的主角。pdftk支援合併、旋轉、加水印、加附件、加密、

官網(上有舉了一些例子,這裡整理成批處理命令方便小白,相關命令儲存為.bat檔案,然後把希望操作的pdf檔案和.bat檔案置於同一目錄即可。

合併資料夾內所有pdf,輸出combind.pdf

@echo off

pdftk %cd%\*.pdf cat output %cd%\combined.pdf

把多個pdf的不同頁面組合成乙個新的pdf文件,這裡取base1.pdf的第一頁,base2.pdf的第一頁,輸出combined2.pdf

@echo off

pdftk a=%cd%\base1.pdf b=%cd%\base2.pdf cat a1 b1 output %cd%\combined2.pdf

旋轉pdf,旋轉的角度為上北下南左西右東(north\south\west\east),如下例,combined第一頁向右旋轉而其他保持不變則旋轉引數為1east 2-end,如果全部旋轉則是1-endeast(注意:這裡沒有空格)

@echo off

pdftk %cd%\combined.pdf cat 1east 2-end output %cd%\rotate.pdf

使用128位強度對pdf進行所有者加密(owner password),加密後pdf檔案處於唯讀狀態,沒有所有者密碼不能對該pdf做各種檔案操作。這裡對base1.pdf進行所有者加密,密碼為foopass,輸出檔案為poopass.128.pdf

@echo off

pdftk %cd%\base1.pdf output %cd%\foopass.128.pdf owner_pw foopass

同上,同時給pdf加上訪問者密碼(會彈出乙個密碼輸入框)此例原檔案為in.pdf,加密後檔案為mydoc.128.pdf,所有者密碼為foopass,訪問者密碼為baz

@echo off

pdftk %cd%\base1.pdf output %cd%\foopassbaz.128.pdf owner_pw foopass user_pw baz

解密pdf文件,input_pw空一格,然後是所有者密碼,這裡輸入檔案為加密檔案foopassbaz.128.pdf,輸出檔案nopass.pdf,輸出檔案會去掉所有者密碼和訪問者密碼。

@echo off

pdftk %cd%\foopassbaz.128.pdf input_pw foopass output %cd%\nopass.pdf

加水印,以下命令會把stamp.pdf當成背景水印(即stamp.pdf疊加在底層)合到base1上並輸出stampback.pdf,如果想把stamp.pdf合成base1的前景水印(即stamp.pdf疊加在表層),把以下的backgroud換成stamp即可。

@echo off

pdftk %cd%\base1.pdf background %cd%\stamp.pdf output %cd%\stampback.pdf

以上就是常用的pdf檔案操作的相關命令了,實際上pdftk還有提供了不少功能,具體可與參照官網和輸入在cmd輸入pdftk --help檢視相關資料,這裡就不一一寫出來了,畢竟小白們沒用到那麼細緻的功能。

pdf小工具

內容補充

cmd控制台呼叫方法

合併pdf

pdf加水印

c++呼叫的方法

合併pdf

//

如果pdftk.exe所在路徑有空格,那麼它的路徑要用\"給包起來

pdf加水印

//

如果pdftk.exe所在路徑有空格,那麼它的路徑要用\"給包起來

caesar盧尚宇

2023年2月27日

C 檔案複製小工具

60string newfile 定義儲存的位置,和儲存的名稱 61 62for inti 1 i convert.toint32 textbox2.text i 從textbox2中獲取要複製的次數 63 67messagebox.show 複製完成 68 69 70 view source pr...

檔案編碼解碼小工具

base64編碼解碼原理 base64編碼是用64個可見字元表示任意二進位制資料的方法。以3個8bit的字元為一組,針對每組獲取每個字元的ascii編碼,將ascii編碼轉換成8bit的二進位制,得到一組24bit的位元組 將24bit劃分為4個6bit的位元組,每個6bit的位元組高兩位補0,得到...

csv檔案生成小工具

如果用shell來做這件事的,通常是兩種方法 1.捕獲終端輸出,後續對輸出做一定處理。但是終端輸出實際上已經丟失了很多格式資訊,很難做到完善處理。2.用mysql內建的file命令一次性生成檔案。mysql內建的函式功能有限,沒法做到比較好的輸出格式化。所以選擇了python來做。主要注意幾點 1....