我正在使用<p:media>
基于这个问题和答案:如何使用 <p:media> 绑定动态内容?
它在 IE7 中不起作用,而在 Mozilla 和 Chrome 中运行良好。IE7错误为:
文件不以“%PDF-”开头。
我理解这是因为生成的 PDF 的文件名是dynamiccontent.properties.xhtml
. 如何更改文件名?我尝试在构造函数中传递文件名DefaultStreamedContent
,但没有效果。
我正在使用<p:media>
基于这个问题和答案:如何使用 <p:media> 绑定动态内容?
它在 IE7 中不起作用,而在 Mozilla 和 Chrome 中运行良好。IE7错误为:
文件不以“%PDF-”开头。
我理解这是因为生成的 PDF 的文件名是dynamiccontent.properties.xhtml
. 如何更改文件名?我尝试在构造函数中传递文件名DefaultStreamedContent
,但没有效果。
很抱歉发布 necro-post,但对于那些看到这篇文章的人来说,是的,这可能是文件名问题。
只要 %PDF-header 在文件的前 1024 个字节内的任何位置开始,Acrobat 产品就一直打开 PDF。未对 %PDF 标头之前的无关字节执行任何检查。但是,10.1.5 和 11.0.01 更新通过执行更严格的 PDF 标头解析来提高安全性。该产品现在拒绝打开以“%PDF-”标题开头的一小部分 PDF。
您可以通过设置适当的首选项来禁用机器上的标头验证
如果 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