Javascript 如何打印此文档。你想允许这样吗`

Javascript 如何打印此文档。你想允许这样吗`,javascript,pdf,adobe,foxit,Javascript,Pdf,Adobe,Foxit,我从一个php脚本创建了一个pdf,并希望这个pdf在用户打开后立即打印出来。没有更多的互动。为此,我发现,我可以添加一个javascript,它可以使打印自动进行,理论上甚至不需要任何弹出窗口或警报 我尝试了所有的javascript组合来嵌入我在所有论坛上都能找到的内容,例如: 将interactionLevel设置为静默或自动 $script=var pp=getPrintParams; pp.interactive=pp.constants.interactionLevel.silent

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

我尝试了所有的javascript组合来嵌入我在所有论坛上都能找到的内容,例如:

将interactionLevel设置为静默或自动

$script=var pp=getPrintParams; pp.interactive=pp.constants.interactionLevel.silent; 这是printp

旧式:

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

设置要特权的功能: $script=sPrint=app.trustedFunction 函数{app.beginPriv;this.print{bUI:false,bSilent:true};app.endPriv; }; 冲刺

我甚至试着加入注册字段

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

但当我打开pdf文件时,我仍然无法摆脱弹出警告窗口。我试图在AdobeReaderDC和Foxit中打开它。我得到同样的警告:

此文档正在尝试打印。你想允许这样吗


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

未经用户同意或选择加入,您不能这样做。您可以在以下条件之一下使脚本以静默方式打印,但在每种情况下,用户都需要通过执行以下操作之一选择加入

允许您调用受信任函数以静默打印的脚本需要安装在用户计算机上的特权文件夹中。 文档可以保存到特权文件夹中。 您可以要求用户将您的域添加到特权域列表中。 签署文档并要求用户信任您的证书。 请参阅AcrobatJavaScript文档的特权上下文部分

由于用户也可以通过电子邮件接收pdf,因此我认为只有第4点。这是可能的。但是我的下一个问题是如何从php脚本对pdf文件进行签名?我不确定是否有任何php库可以对pdf进行签名,但是,您可以使用任意数量的库来进行签名,并使用php exec通过命令行调用它。但即便如此,用户仍需要信任您的证书,然后才能静默打印。也就是说,如果我打开一个PDF文件,它刚刚开始打印,我会非常生气。@joelgeraci是对的!如果文档经过认证,并且证书被信任可以执行特权系统操作,那么它工作得非常好-我刚刚对它进行了测试,我将删除我的答案以支持此答案。如果您需要在纯PHP中创建此任务,您可以查看我们的@JanSlabon,听到这个消息真是太好了。那我就看这个方向。谢谢你们两个。@JanSlabon-是的。用户需要先设置一次他们的信任首选项。同样,他们仍然需要以某种形式选择加入。这里有一篇关于这一切如何运作的文章。。。