internet-explorer - p :media with PDF file causes "File does not begin with ' %PDF -'." error in IE7

标签 internet-explorer jsf pdf jsf-2 primefaces

我正在使用 <p:media>基于此问答:How to bind dynamic content using <p:media>?

它在 IE7 中不起作用,而在 Mozilla 和 Chrome 中运行良好。 IE7 错误如下:

File does not begin with '%PDF-'.



我理解这是因为生成的 PDF 的文件名是 dynamiccontent.properties.xhtml .如何更改文件名?我尝试在 DefaultStreamedContent 中传递文件名构造函数,但它没有效果。

最佳答案

很抱歉发帖,但对于那些看到这篇文章的人来说,是的,这可能是文件名问题。

只要 %PDF-header 在文件的前 1024 字节内的任何位置开始,Acrobat 产品就可以打开 PDF。没有对 %PDF-header 之前的无关字节执行检查。但是,10.1.5 和 11.0.01 更新通过对 PDF header 执行更严格的解析来提高安全性。该产品现在拒绝打开一小部分未正确以“%PDF-”标题开头的 PDF。

您可以通过设置适当的首选项来禁用机器上的 header 验证

如果 AVGeneral 项不存在,请手动创建。

HKLM 路径一般为:

HKLM\Software\Adobe(产品名称)(版本)\AVGeneral\bValidateBytesBeforeHeader=dword:00000000

例如,要更改 Acrobat 11.0 的行为,请在以下位置创建一个 DWORD:HKLM\SOFTWARE\Adobe\Adobe Acrobat\11.0\AVGeneral\bValidateBytesBeforeHeader=dword:00000000

HKCU 路径一般为:

HKCU\Software\Adobe(产品名称)(版本)\AVGeneral\bValidateBytesBeforeHeader=dword:00000000

例如,要更改 Reader 10.0 的行为,请在以下位置创建一个 DWORD:HKCU\SOFTWARE\Adobe\Acrobat Reader\10.0\AVGeneral\bValidateBytesBeforeHeader=dword:00000000

始终更改首选项路径中的产品和版本号以匹配您的安装。此方法允许 PDF 显示在您控制的机器上。

https://helpx.adobe.com/acrobat/kb/pdf-error-1015-11001-update.html

关于internet-explorer - p :media with PDF file causes "File does not begin with ' %PDF -'." error in IE7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18209505/

相关文章:

javascript - 在 Internet Explorer 中调试 JavaScript

javascript - 检测浏览器是否为 IE 7 或更低版本?

templates - 了解jsf ui的用途 :composition

string - 测试 JSTL 字符串值?

java - 从 session 范围检索 @Named 托管 bean

internet-explorer - cakephp 在使用 Safari 和 Internet Explorer 时丢失 session

javascript - 三JS : IE11 crashes on Render();

powershell - 如何使用 Powershell 按顺序打印 PDF 文件?

javascript - 在 Chrome PDF 查看器上隐藏/禁用下载按钮

html - 如何在新窗口中打开 pdf 文件中的链接?