2017-03-20 38 views
1

這可能是我不熟悉iText庫,但我有下面的代碼保護的文件和使用「PdfWriter.ALLOW_PRINTING」加密設置:PdfEncryptionSettings API在Itext中如何工作?

using (Stream output = new FileStream(_outputFile, FileMode.Create, FileAccess.Write, FileShare.None)) 
{ 
     PdfEncryptor.Encrypt(_pdfReader, output, true, docKey, docKey, PdfWriter.ALLOW_PRINTING); 
     output.Close(); 
} 

它生成的輸出文件確實有密碼保護,但打開後,PDF仍可編輯,我可以更改書籤,添加註釋等並保存更改。

有什麼我可能錯過了,或者我們應該如何理解這裏的權限設置?我的iText版本是5.5.10.0

+0

您是否能夠在此上下文中實例化PdfWriter?有一個方法PdfWriter.SetEncryption具有相似的參數。適用於我(v4.1.6)適用於什麼編輯工具? – COeDev

+0

感謝您的靈感,其實上面的代碼也可以工作,問題是用戶密碼與用戶密碼相同。 @COeDev – strisunshine

回答

2

上述代碼的問題是使用相同的用戶密碼和所有者密碼。讓它們變得不同並用用戶密碼打開文檔解決了問題