我在.net(c#)项目中使用iTextSharp库收到特定pdf文件的未处理异常。我无法理解我想上传的pdf具体是什么,虽然我可以看到基本的pdf我从互联网功能下载工作。 以下部分代码:
string pdfTemplate =“url to specific pdf”; var pdfReader = new PdfReader(pdfTemplate);
抛出异常: 重建失败:字典键Z不是名称。在文件指针224;原始消息:字典键Z不是名称。在文件指针224
拜托,有什么建议吗?我没有想法......
答案 0 :(得分: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
CreationDate 值有两个右括号。 iText正确地假定第一个是正确的,即完成值,因此,将 Z 视为下一个条目的关键。
但是密钥必须是名称,名称以斜杠开头,但是这个名称没有斜线。的句法的错误 !!因此:
字典键Z不是名称。在文件指针224
PdfReader
作为失败后的最后手段试图再次阅读PDF,这次首先尝试重建交叉引用。由于问题与交叉引用无关,这显然会再次失败。因此:
重建失败:字典键Z不是名称。在文件指针224;原始消息:字典键Z不是名称。在文件指针224
创建此语法错误可能是Qt错误(Qt 4.8.2在此处被命名为创建者)。
PS:您是否尝试在Adobe Reader中打开此文件的文档属性?这里没有任何东西出现,这肯定是由于这个问题。