2012-08-15 144 views
7

我有一些第三方PDF文件帶有一些表單域,需要以編程方式填寫。 PDF文件是安全的。詳細的安全設置:SecurityMethod: Password Security, Document Open Password: No, ... Form Field Fill-in or Signing: Allowed... 當我試圖打開並手動填寫文檔時,一切正常,並且我沒有被要求輸入任何密碼。但隨着代碼,它會失敗,例外。 下面的代碼(我使用iTextSharp的庫):使用iTextSharp填寫PDF時出現BadPasswordException

var str = new MemoryStream(); 
var reader = new PdfReader(_path); 
var stamper = new PdfStamper(reader, str); 

創建PdfStamper對象失敗,出現異常:BadPasswordException. PdfReader not opened with owner password.

任何想法,爲什麼它失敗的代碼,而不是手動? 在此先感謝。

回答

19

您是否嘗試過你reader初始化之前加入

PdfReader.unethicalreading = true; 

+0

謝謝,它有幫助。 – Skog 2012-08-18 17:23:24

+1

@Michal Klouda:我沒有得到不道德的財產。 – Ankur 2013-07-16 04:57:35

+0

謝謝你的提示。這真的有幫助! @Ankur它爲我工作時,我使用此代碼:PdfReader.unethicalreading = true; PdfReader reader = new PdfReader(sourceFiles [counter]); – bernhardrusch 2013-07-31 11:39:50