我需要處理大量受保護的pdf文件並使用java程序進行編輯,但是我沒有這些文件的密碼。 有什麼辦法可以用批處理解鎖這些文件嗎?解鎖受保護的pdf文件
我想要一個Windows命令,如工具或Java開源API。 什麼是最佳解決方案?
我需要處理大量受保護的pdf文件並使用java程序進行編輯,但是我沒有這些文件的密碼。 有什麼辦法可以用批處理解鎖這些文件嗎?解鎖受保護的pdf文件
我想要一個Windows命令,如工具或Java開源API。 什麼是最佳解決方案?
是要求打開密碼的這些pdf文件,還是保護包含對複製,打印,修改,文本提取等方面的限制嗎?
,如果這是你的情況,你可以用
qpdf嘗試
用法:
qpdf --decrypt file.pdf unlocked.pdf
,並且可以在一個批次中使用操作集體,這樣
for f in *.pdf ; do qpdf --decrypt $f ${f%%.pdf}unlocked.pdf; done
在解密時,您可以使用PDFBox,看到我的答案在這裏:https://stackoverflow.com/a/9976481/535203
我給一個示例代碼解密鑑於其密碼的PDF文件。
還有一個與PDFBox一起使用的二進制文件,請檢查the usage here。
你也可以使用iText庫來做到這一點。
下面是一個示例代碼:
PdfReader.unethicalreading = true;
PdfReader reader = new PdfReader(inputFile);
PdfEncryptor.encrypt(reader, new FileOutputStream(outputFile), null,
null, PdfWriter.ALLOW_ASSEMBLY | PdfWriter.ALLOW_COPY
| PdfWriter.ALLOW_DEGRADED_PRINTING | PdfWriter.ALLOW_FILL_IN
| PdfWriter.ALLOW_MODIFY_ANNOTATIONS | PdfWriter.ALLOW_MODIFY_CONTENTS
| PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_SCREENREADERS, false);
P.S. :使用unethicalreading
標誌自負風險。
最好的解決方案是向擁有文件內容的人請求支持 - 那可能是密碼保護他們的人。 – mah 2012-01-05 20:44:20
只要PDF只有一個所有者密碼而不是一個用戶密碼(您仍然可以查看它們),那麼文件中沒有任何加密。這些限制只能由查看器應用程序強制實施,並且PDF完全不受保護。如果您擁有自己的編輯應用程序,則可以忽略該保護。 – Alasdair 2012-01-06 01:04:36