我正在使用 <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/