pdf错误:IE9和IE10上的“预期dict对象”

时间:2014-07-22 08:33:10

标签: internet-explorer pdf adobe acrobat

我不确定这是Adobe Acrobat / Reader还是IE问题,但我似乎无法从Adobe支持或其用户到用户论坛获取任何信息,所以我想我会看到是否有IE用户可以帮忙。
发生了什么事情是一些用户试图通过Internet Explorer 9和Internet Explorer 10打开位于网站(内部网)上的PDF文件。当用户点击列出的PDF文件时,Acrobat(或Reader)错误“预期dict “对象”出现,IE屏幕保持空白。我只能在IE9和IE10上在我的电脑上重新创建这个错误,但它适用于IE8和IE11以及其他浏览器。所以我想知道它是否与IE有关。如果用户在Acrobat或Reader应用程序中打开pdf,则会成功打开。 我们有一个客户喜欢以这种方式打开他的PDF文件,所以我想解决这个问题(而不是告诉他在Acrobat或Reader中打开PDF文件)。 谢谢你的回答。

3 个答案:

答案 0 :(得分:2)

如果您对保存PDF有任何控制权,请使用“优化快速Web查看”选项或其等效选项保存或导出PDF本身。

对于我的特殊情况,我看到我从InDesign(CS 1或6)导出的PDF的问题,然后在Internet Explorer中打开(目前有11个,但之前的旧版本)和Acrobat Reader XI(当前为11.0.10) )。

我可以通过让用户清除IE的缓存,然后再次下载PDF,或者更改PDF的文件名并让他们下载新重命名的版本(并且经常运行,奇怪)来解决问题。但是,我不想让最终用户做这样的事情。

我发现的所有解决方案都是关于在Reader的首选项中关闭“允许快速Web查看”和/或在Internet Explorer中禁用插件 - 强制浏览器直接在Reader中打开文件。但是,再一次,我不想让最终用户使用这样的设置。

对后者,面向最终用户的解决方案的引用: http://www.techyv.com/questions/adobe-reader-expected-dict-object

答案 1 :(得分:1)

如果在您的测试中,文档在IE8或IE9下始终失败,但在IE8或IE11下一直成功,那么它没有随机性,但是帮助应用程序(或版本)可能存在关键差异每个浏览器都在使用它们。

即使你的措辞暗示,你在整个同一台机器上通过IE11测试运行IE8,我建议双重检查每个浏览器调用相同的PDF实用程序。

例如,如果你有最新版本的Reader和同一台机器上的Acrobat共享空间的古老副本,IE8和IE11可能会找到Reader(它可能正好处理文件的内部)其中IE9和IE10可能与老年Acrobat有关,而Acrobat在消化一段较新的PDF编码方面存在一些问题。

相反,另一种可能性是,较旧的Acro / Reader忽略了一个问题,即后来的版本标记为抱怨的错误。正如Max Wyss建议的那样,您应该下载问题文档以查看它是否已损坏。通过Adobe Acrobat的飞行前PDF语法分析器运行它,看它是否会标记文档中的任何问题。如果是这样,您可能会看到的是不同的实用程序'对源文档中的问题的反应。

答案 2 :(得分:0)

我意识到这是一篇旧帖子,但我无法修改Adobe帖子以纠正任何人,所以这是我最好的选择。

答案是正确但错误的。它是关于一个损坏的格式,而不是一个损坏的文件或最有可能与版本差异有关。

作为开发人员,让PDF(和FDF)正常工作的最难的部分是字段验证。如果您曾查看过填写PDF表单的文件,那么它们非常简单。字段名称,值。

另一件很简单的事情是你可以轻易打破它们。输出格式为<</T(txtFieldName)/V(Value)>>

但是,类似于SQL注入,如果最终用户将某些内容混淆,那么它会中断并导致DICT错误。让我们说字段信息是:

<</T(txtFieldName)/V(I work for the Central Intelligence Agency (CIA))>>

但你愚蠢的CIA人忘记打开或关闭CIA的括号......

<</T(txtFieldName)/V(I work for the Central Intelligence Agency --> CIA))>>

导致文件损坏,从而导致DICT错误。