如何禁止`此文档正在尝试打印。你想允许这个吗?`

How to supress `This document is trying to print. Do you want to allow this?`

我从 php 脚本创建了一个 pdf,并希望这个 pdf 在用户打开它时立即打印出来。没有更多的互动。为此,我发现,我可以添加一个 javascript,它可以使打印自动进行,理论上甚至没有任何弹出窗口 windows 或警报。

我尝试了 javascript 的所有组合来嵌入,我可以在所有论坛上找到它们,即:

  1. 将交互级别设置为静音或自动。

    $script = "var pp = getPrintParams(); pp.interactive = pp.constants.interactionLevel.silent; this.print(pp);"

  2. 旧样式:

$script = 'this.print({bUI: false, bSilent: true});

  1. 正在设置特权函数:

$script = "sPrint = app.trustedFunction( function(){ app.beginPriv(); this.print({bUI:false, bSilent:true}); app.endPriv(); }); sPrint();"

我什至尝试在注册字段中添加

Acrobat Reader/DC/AVAlert/cCheckbox/cAcrobat/iWarnScriptPrintAll=1 Acrobat Reader/DC/EWH/bExecutePrint=1

但我仍然无法摆脱打开 pdf 时的弹出警告 window。我试图在 Adob​​e Reader DC 和 Foxit 中打开它。我收到同样的警告:

This document is trying to print. Do you want to allow this?

有谁知道如何抑制这个弹出窗口 window?谢谢。

你不能,除非没有用户的同意或选择加入。你可以让脚本在以下条件之一下静默打印,但在每种情况下,用户都需要通过执行以下操作之一选择加入.

  1. 允许您调用受信任函数以​​静默打印的脚本需要安装在用户机器上的特权文件夹中。
  2. 文档可以保存到特权文件夹。
  3. 您可以要求用户将您的域添加到特权域列表中。
    1. 签署文档并请求用户信任您的证书。

请参阅 Acrobat JavaScript 文档的特权上下文部分 http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/Acro12_MasterBook/JS_API_AcroJSPreface/Privileged_context.htm