2012-08-15 98 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