How to password protect an uploaded PDF in PHP(如何在 PHP 中对上传的 PDF 进行密码保护)
本文介绍了如何在 PHP 中对上传的 PDF 进行密码保护的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
I have a web application where users can upload PDF documents. Is there a PHP library that I can use to password protect the PDF file? I need the library to preserve all aspects of the original PDF (i.e. size, fonts, resolution, etc).
解决方案
Download the library used: Protect PDF in PHP
<?php
function pdfEncrypt ($origFile, $password, $destFile){
//include the FPDI protection http://www.setasign.de/products/pdf-php-solutions/fpdi-protection-128/
require_once('fpdi/FPDI_Protection.php');
$pdf =& new FPDI_Protection();
// set the format of the destinaton file, in our case 6×9 inch
$pdf->FPDF('P', 'in', array('6','9'));
//calculate the number of pages from the original document
$pagecount = $pdf->setSourceFile($origFile);
// copy all pages from the old unprotected pdf in the new one
for ($loop = 1; $loop <= $pagecount; $loop++) {
$tplidx = $pdf->importPage($loop);
$pdf->addPage();
$pdf->useTemplate($tplidx);
}
// protect the new pdf file, and allow no printing, copy etc and leave only reading allowed
$pdf->SetProtection(array(),$password);
$pdf->Output($destFile, 'F');
return $destFile;
}
//password for the pdf file
$password = 'info@domain.com';
//name of the original file (unprotected)
$origFile = 'book.pdf';
//name of the destination file (password protected and printing rights removed)
$destFile ='book_protected.pdf';
//encrypt the book and create the protected file
pdfEncrypt($origFile, $password, $destFile );
?>
EDIT Original source of library used. Please note that my answer above was not tested using the script from the original source. I downloaded from the third party link above and I didn't check if they're exactly the same.
这篇关于如何在 PHP 中对上传的 PDF 进行密码保护的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在 PHP 中对上传的 PDF 进行密码保护


基础教程推荐
猜你喜欢
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01