首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >print.js密码保护pdf

print.js密码保护pdf
EN

Stack Overflow用户
提问于 2020-09-02 20:29:40
回答 1查看 195关注 0票数 0

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

问题是,PDF应该用密码保护,这使得我不可能进行静默的kiosk打印。

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

另一种解决方案是用php解密pdf,将其保存为带后缀的临时文件,打印没有密码的pdf,然后删除临时文件。

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

非常感谢您的帮助!

代码语言:javascript
复制
<?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

?>
EN

回答 1

Stack Overflow用户

发布于 2020-09-03 02:10:47

使用qpdf命令(download)来解密它怎么样?在Ubuntu上,你可以用sudo apt install qpdf安装它。您可以将pdf文件解密为qpdf --decrypt input.pdf --password='pass' -- out.pdf。它可以通过shell_exec()等函数在PHP中执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63705556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档