是可以用工具來將已知密碼的PDF,解除密碼。
但如果想要在網頁程式上運做的話。
目前的確也不知道用什麼招式就是了。
由於這樣的需求度極少,所以我也沒去研究。
只知道如何做加密。
2020年有人說 Acrobat Reader 沒支援
2017年的PDF.JS好像可以做得到
有空可以試用看看
若可行再回來分享一下
我用python做範例,但要你知道密碼是什麼,才能把密碼剝除
假設你懂python且會os.walk爬整個資料夾(包含子資料夾)
from PyPDF2 import PdfFileWriter, PdfFileReader #自己pip PyPDF2吧
def depass(filenamePDF,password): #檔名跟密碼
infile = PdfFileReader(filenamePDF) #打開來源PDF
outfile = PdfFileWriter() #建立一個空PDF
infile.decrypt(password) #再把密碼解除,當然你要提供密碼
for i in range(infile.numPages):
page = infile.getPage(i) #從來源一頁一頁讀出
outfile.addPage(page) #一頁一頁寫進 空的PDF 裡
with open(filenamePDF, "wb") as f: # 回寫到原來的PDF檔名 啊檔案操作一定要懂
outfile.write(f)
恩…這我熟
但我就是懶,想找現成的
是說,為什麼解密是在輸出檔案,我記得應該是在infile = PdfFileReader(filenamePDF)
的下一行就可以接infile.decrypt("my-secret-password")
了?
reader跟writer不能同時使用在一個變數上....
靠妖,我寫錯地方,要先 infile.decrypt('yourpassword')再一頁一頁add進writer裡......
急著回覆忘了驗證
登愣~抓到你的蟲了
這各要知道主要密碼才有用啊,很多開啟密碼跟主要密碼都是不一樣的,尤其是銀行帳單,你沒有主要密碼根本別想改開啟密碼
實際上 PDF 至少有三個密碼,很多變態的銀行會把主要密碼弄成 256位元的亂碼隨便填進去,而且用 AES256加密,然後他會去抓客戶資料的ID當開啟密碼,另外還有一個是編輯密碼,有些商用系統會特別設定這個,因為某些狀況這些PDF需要去重新編輯的話,沒有這個密碼很麻煩,同樣的變態的銀行也是會跟主要密碼一樣用亂數產生填進去,所以,編輯密碼也是無解的
然後聽說還有列印密碼,印象是某個版本之後的PDF可以用,預設是列印鎖定,然後要印必須給密碼