[英]print.js password protected pdf
我嘗試創建一個前端,將文件夾中的所有 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
?>
如何使用 qpdf 命令(下載)來解密它? 在 Ubuntu 上,您可以使用sudo apt install qpdf
安裝它。 您可以將 pdf 文件解密為qpdf --decrypt input.pdf --password='pass' -- out.pdf
。 它可以通過諸如 shell_exec() 之類的函數從 PHP 執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.