如何抑制`这个文件试图打印。你想允许吗?`

时间:2017-02-03 16:41:37

标签: javascript pdf adobe foxit

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

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

  1. 将interactionLevel设置为静音或自动。

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

  2. 旧式:

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

    1. 设置要特权的功能:
    2. $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时,我仍然无法摆脱弹出警报窗口。我试图在Adobe Reader DC和Foxit中打开它。我收到同样的警告:

        

      本文档正在尝试打印。你想允许吗?

      有谁知道如何压制此弹出窗口?谢谢。

1 个答案:

答案 0 :(得分:1)

您无法在未经用户同意或选择加入的情况下使用。您可以在以下某个条件下默认打印脚本,但在每种情况下,用户都需要选择加入以下之一。

  1. 允许您调用受信任的函数进行静默打印的脚本需要安装在特权文件夹中的用户计算机上。
  2. 可以将文档保存到特权文件夹中。
  3. 您可以要求用户将您的域添加到特权域列表中。
    1. 签署文档并要求用户信任您的证书。
  4. 请参阅Acrobat JavaScript文档的“特权上下文”部分 http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/Acro12_MasterBook/JS_API_AcroJSPreface/Privileged_context.htm