Pdf 密码正确的BadPasswordException
我有一个密码保护的pdf文件,我试图用itextsharp打开它。我知道正确的密码,但当我打电话时Pdf 密码正确的BadPasswordException,pdf,itextsharp,itext,Pdf,Itextsharp,Itext,我有一个密码保护的pdf文件,我试图用itextsharp打开它。我知道正确的密码,但当我打电话时 var pdfreader=newpdfreader(文件,Encoding.Default.GetBytes(密码)) 我通过以下stacktrace获得BadPasswordException(坏用户密码): at iTextSharp.text.pdf.PdfReader..ctor(IRandomAccessSource byteSource, Boolean partialRead, B
var pdfreader=newpdfreader(文件,Encoding.Default.GetBytes(密码))代码>
我通过以下stacktrace获得BadPasswordException
(坏用户密码):
at iTextSharp.text.pdf.PdfReader..ctor(IRandomAccessSource byteSource, Boolean partialRead, Byte[] ownerPassword, X509Certificate certificate, ICipherParameters certificateKey, Boolean closeSourceOnConstructorError)
at iTextSharp.text.pdf.PdfReader..ctor(String filename, Byte[] ownerPassword, Boolean partial)
at iTextSharp.text.pdf.PdfReader..ctor(String filename, Byte[] ownerPassword)
Adobe Reader按预期打开文件。itextsharp版本5.4.3.0
文档的安全详细信息如下所示:
有什么建议吗 您确定要传递的是所有者密码而不是用户密码吗?@ChrisHaas:我使用打开文件时在Adobe reader中输入的密码。但是您是输入用户密码还是所有者密码?只是出于好奇,设置PdfReader.unethicalreading=true help是否会有帮助?您使用的是编码.Default.GetBytes(密码)
,可能是PDF的密码是用UTF-8编码的,默认值
不是UTF-8编码器?尝试Encoding.UTF8.GetBytes(密码)