1

我在 ASP Classic 站点的 Adob​​e Reader 的“浏览器中”功能中呈现 PDF 输出时遇到问题。

我有一个带有少量输入的表单,可以滚动并制作 PDF 报告。当保存为文件时,报告正确呈现(考虑了所有输入值),但在 Reader v7.0 中显示时显示空白屏幕,并直接进入 v8.1.2 中的无输入值报告。

从此处在浏览器中按“刷新”也将显示一个报告,表明没有任何 HTML 表单输入被结转。


  • 是否有任何我可能遗漏的 HTML 表单回发的基本机制?

*令 m *e 困惑的一件事是,取消选中 Adob​​e Reader 中的“在浏览器中显示”选项并且不重新启动浏览器会在两个版本中给出正确的报告。

另一个可能的问题与浏览器的“受信任站点”政策有关。该域已添加到受信任列表中,并且:

  • HTML 输入表单在状态栏中显示为受信任站点
  • 浏览器内 PDF 屏幕显示在“未知区域”</li>

澄清:

  • 如果Reader被卸载,下载的文件是正确的
  • 如果安装了 Reader,并设置为不显示在浏览器中,则输出正确
  • 如果设置为使用 Adob​​e Reader 在浏览器中显示,则
    • v7.0 – 显示空白屏幕。“刷新”转到无输入值 PDF 报告
    • v8.1.2 – 显示无输入值报告
  • 取消选中 Adob​​e Reader 中的“在浏览器中显示”选项并且不重新启动浏览器会在两个版本中提供正确的报告

有一个可以工作的旧生产环境,它能够在我们测试的同一台机器上使用 Reader v7.0 在浏览器中正确显示 PDF 文件。所描述的问题发生在具有更严格安全控制的新环境中设置相同的代码。

该环境还使用了较旧的技术,不会升级。这包括:

  • 该网站是 ASP 经典
  • 代码输出PDF v1.3
  • Internet Explorer 6。是的。6.

关于为什么报告并不总是继承 HTML 输入的任何想法?

任何帮助表示赞赏,谢谢。

4

2 回答 2

1

生成 PDF 的 ASP 页面没有从表单中获取值。这就是为什么它要创建一个带有空值的 PDF 表单。确保 HTML 表单直接发布到生成 PDF 的 ASP 脚本。不应有任何 response.transfer 或 response.redirect 或 404 重定向到生成 PDF 的 ASP 脚本。

于 2011-05-19T08:00:39.000 回答
0

啊,该死。

所以事实证明 IIS 启用了 GZIP 压缩,并且客户端只有 IE6 的推出。有很多关于 IE6 的 GZIP 不兼容性的文章,如果您希望在 IIS 中有条件地允许它,有一些解决方案

白屏是因为它是一个回发的 ASP 页面,并在 HTTP 标头中更改其“内容类型”(更改为“应用程序/pdf”) - IIS 决定它应该压缩它,并在 IE6 中失败。

Adobe Reader 8 执行第二个请求,丢失回发值。

于 2011-06-20T01:51:20.840 回答