2

我的一位客户拥有由 Acrobat Pro 创建的 PDF 表单。每个表单上都有一个“打印”按钮。“打印”按钮后面是这个 JavaScript,它仍然是Adob​​e推荐的打印方式:

var pp = this.getPrintParams();

pp.printerName = "\\\\server2\\EN100Tiffs";
pp.interactive = pp.constants.interactionLevel.automatic;

this.print(pp);
app.alert("Document sent to printer", 3);

app.alert("Please close window after each use", 3);

上面指定的打印机实际上是一个实用程序,可以将发送给它的任何内容转换为 TIFF(Alto Imaging 的 UltraTIFF 驱动程序)。它所在的服务器是 Windows 2008。另一个进程持续扫描 TIFF 文件并将它们发送到客户的文档成像系统。

这在 Adob​​e Reader 10 之前一直有效。此时,该实用程序停止生成 TIFF。客户通过继续使用 Adob​​e Reader 9 解决了这个问题,但现在他们被迫升级到 Reader 11。它在 Reader 11 下也不起作用。

请注意,打印机在客户端计算机上设置。客户端机器都是 Windows 7。

另请注意,用户可以直接访问 PDF。它不在浏览器窗口内。

如果我将 TIFF 驱动程序设置为客户端计算机上的打印机(通过开始/设备和打印机/添加打印机),则脚本在 Adob​​e Reader 10 和 11 下运行。如果设置打印机,则脚本适用于 Reader 9 及更早版本,但不适用于 10 或 11。客户不会在客户端上设置打印机,因为他们担心用户可能会意外打印到它,而他们打印的所有内容最终都会出现在文档成像中系统。

为了找出问题所在,我在打印按钮脚本中添加了错误捕获:

var pp = this.getPrintParams();

pp.printerName = "\\\\server2\\EN100Tiffs";
pp.interactive = pp.constants.interactionLevel.automatic;

try {
  this.print(pp);
  app.alert("Document sent to printer", 3);
} catch (err) {
  app.alert("Error printing: " + err);
}

app.alert("Please close window after each use", 3);

当我尝试打印文档时,没有抛出任何错误。我收到“文档已发送到打印机”消息而不是错误消息,但该文档仍未发送到打印机 - 我的意思是没有创建 TIFF 文件。

所以我的问题是:

  1. 从 Reader 9 到 Reader 10 时,有没有人遇到过类似的从 Javascript 打印的怪癖?

  2. 代码片段中是否有任何内容导致错误?

感谢大家的关注,特别是如果你做到了这一点:)

4

0 回答 0