Javascript print.js受密码保护的pdf

Javascript print.js受密码保护的pdf,javascript,php,pdf,passwords,Javascript,Php,Pdf,Passwords,我尝试创建一个前端,将文件夹中的所有PDF文件显示为下拉列表。 所选PDF应在chrome kiosk打印模式下无声打印。 我是php和javascript的初学者,但在这一步上没有问题 问题是,PDF应该用密码保护,这使得我无法使用静默信息亭打印 我需要用print.js发送密码,但我认为print.js中没有函数 另一个解决方案是使用php解密PDF,将其保存为带有后缀的临时文件,打印PDF而不使用密码,然后删除临时文件 有人知道我怎么做吗?我搜索了一个解密PDF的解决方案,或者一个用pri

我尝试创建一个前端,将文件夹中的所有PDF文件显示为下拉列表。 所选PDF应在chrome kiosk打印模式下无声打印。 我是php和javascript的初学者,但在这一步上没有问题

问题是,PDF应该用密码保护,这使得我无法使用静默信息亭打印

我需要用print.js发送密码,但我认为print.js中没有函数

另一个解决方案是使用php解密PDF,将其保存为带有后缀的临时文件,打印PDF而不使用密码,然后删除临时文件

有人知道我怎么做吗?我搜索了一个解密PDF的解决方案,或者一个用print.js发送密码的可能性,但是没有找到什么

非常感谢你的帮助

<?php
$dir = "Path-to-PDF/";
$files = glob("$dir*.pdf",GLOB_BRACE);

?>
<!DOCTYPE html>
<html lang="de">
    <head>
        <title>Browser Title</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="inc/css/bootstrap.min.css">
        <link rel="stylesheet" href="inc/css/bootstrap-select.min.css">
        <script src="inc/js/jquery-3.5.1.min.js"></script>
        <script src="inc/js/bootstrap.bundle.min.js"></script>
        <script src="inc/js/bootstrap-select.min.js"></script>
        <script src="inc/js/print.min.js"></script>
    </head>
    <body>
        <div class="d-flex p-5 justify-content-center">
            <form method="post">
                <select name="PDF" class="selectpicker" data-size="5" data-live-search="true"  onchange="this.form.submit()">
                    <option value="">Bitte PDF auswählen...</option>
                    <?php
                        foreach($files as $file)
                        {
                    ?>
                        <option><?php echo basename($file,$dir); ?></option>
                    <?php
                        }
                    ?>
                </select>
            </form>
        </div>
<?php
if(isset($_POST["PDF"])){
  $pdf= $_POST["PDF"];
  echo $pdf;
}
?>
        <button type="button" onclick="printJS({printable:'PDF/<?php echo $pdf?>', type:'pdf', showModal:true})">
        Print PDF
        </button>
    </body>
</html>

<?php

?>

浏览器标题
比特PDF奥斯瓦伦。。。

使用qpdf命令()对其进行解密怎么样?在Ubuntu上,您可以使用
sudo apt install qpdf
安装它。您可以将pdf文件解密为
qpdf--decrypt input.pdf--password='pass'--out.pdf
。它可以通过诸如shell_exec()之类的函数从PHP执行。

感谢您的回答,这是一个非常好的主意。我今天也发现了这个,并尝试使用它。我在没有安装的情况下做了一些测试,只是在windows上使用了qpdf库。你知道如何在解密密码之前测试密码吗?或者从qpdf.exe获取输出?