读取pdf的ITextSharp异常:重建失败:字典键""不是名称

u_u*_*ble 3 c# pdf itextsharp

我在.net(c#)项目中使用iTextSharp库收到特定pdf文件的未处理异常.我无法理解我想要上传的pdf的具体内容,虽然我可以看到基本的pdf我从互联网功能下载工作.以下部分代码:

string pdfTemplate ="url to specific pdf"; var pdfReader = new PdfReader(pdfTemplate);

抛出异常:重建失败:字典键Z不是名称.在文件指针224; 原始消息:字典键Z不是名称.在文件指针224处

请问有什么建议吗?我没有想法......

mkl*_*mkl 9

文档信息词典中存在错误:

%PDF-1.4
1 0 obj
<<
/Title (þÿ)
/Creator (þÿ)
/Producer (þÿ Q t   4 . 8 . 2   \( C \)   2 0 1 1   N o k i a   C o r p o r a t i o n   a n d / o r   i t s   s u b s i d i a r y \( - i e s \))
/CreationDate (D:20131111142910)Z)
>>
endobj 
Run Code Online (Sandbox Code Playgroud)

CreationDate值有两个右括号.iText正确地假设第一个是正确的,即完成值,因此,将Z视为下一个条目的关键.

但是一个键必须是一个名称,名称以斜杠开头,但这个名称没有斜线.语法错误 !! 从而:

字典键Z不是名称.在文件指针224处

PdfReader作为失败后的最后手段试图再次读取PDF,这个时候首先试图重建交叉引用.由于问题与交叉引用无关,这显然会再次失败.从而:

重建失败:字典键Z不是名称.在文件指针224; 原始消息:字典键Z不是名称.在文件指针224处

创建此语法错误可能是一个Qt错误(Qt 4.8.2在此处被命名为创建者).

PS:您是否尝试在Adobe Reader中打开此文件的文档属性?这里没有任何东西突然出现,这肯定是由于这个问题.