【问题标题】:iText incompatibility issue, Works on Internet Explorer, but not on Chrome or FirefoxiText 不兼容问题,适用于 Internet Explorer,但不适用于 Chrome 或 Firefox
【发布时间】:2013-03-07 10:57:41
【问题描述】:

早上好,

我想知道 Firefox 或 Chrome 是否存在 iText 兼容性问题。我正在创建一个自打印的 pdf 文档,其中嵌入了 javascript。这个 javascript 是一个函数调用,它调用位于

的 .js 文件

C:\Program Files (x86)\Adobe\Reader 11.0\Reader\Javascripts

问题是我可以从 Internet Explorer 正确打印它,但不能从 Firefox 或 Chrome 打印。所以我想知道这些元素之间是否存在兼容性问题。我正在使用以下内容:

  • Windows 7
  • itext 2.0.2
  • 火狐19
  • 铬 25
  • Internet Explorer 9

我还看到我的应用程序没有调用 .js,就好像它找不到它一样。我知道这一点是因为我在 .js 的开头添加了一个虚拟警报。这适用于 IE,但不适用于其他浏览器

谢谢

【问题讨论】:

  • PDF 在 Firefox 或 Chrome 中实际上是如何显示的? Chrome 不依赖于 PDF.js 上的内置 PDF 查看器和 Firefox 吗?他们俩都不太可能访问C:\Program Files (x86)\Adobe\Reader 11.0\Reader\Javascripts 中的数据...此外,依靠在 PDF 查看器中启用的 JavaScript 通常是在...上实现自己的用例的摇摇欲坠的基础。
  • 我不显示 PDF。 javascript 的目的是直接打印文档。我一直在研究更多,我发现如果我在 Firefox 中设置选项 -> 应用程序 -> 可移植文档格式(PDF)=> 设置为“使用 Adob​​e Reader(默认)”,它可以部分工作。 “部分”是指现在它向我显示了我可以选择打印机并随后打印的表单。虽然不是理想的行为,但它要好得多!
  • Chrome 应该有一个按钮来达到同样的效果。
  • 我找到了问题的根源,使用 Process Monitor 3.03 来监控对 .js 文件的不同访问。我比较了在 IE 和 Firefox 中执行的 IO 调用,问题是防病毒软件 (Sophos) 阻止了对文件的访问,因此 firefox 无法执行脚本。我还没有解决问题本身,但至少现在我知道了根源。谢谢mkl的帮助。问候:亚历杭德罗

标签: google-chrome firefox adobe itext incompatibility


【解决方案1】:

我不确定这是否有帮助,但我在使用 FF 原生阅读器时遇到了间距问题,所以一个带有标签的句子(下面记为 VARIABLE)在 Adob​​e 上读起来像这样

"This has spaces between a VARIABLE"

但是在 FF 原生阅读器上这样阅读 "This has spaces between aVARIABLE"(变量之间没有空格)

我使用 Unicode 字符在我的标签之间插入空格,但事实证明这是导致问题的原因。另外,如果我只是将变量放在新行上,并且之前的行上有一个空格,那似乎也可以工作

【讨论】:

    【解决方案2】:

    PDF.js 不完全支持自动打印,但只要您使用标准的 print() 函数,打印对话框就会从 Firefox 20 开始自动出现。见https://bugzilla.mozilla.org/show_bug.cgi?id=843342

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      相关资源
      最近更新 更多