我正在使用PHP / Laravel后端开发一个Angular 4项目。
我可以通过两种方式生成PDF: - 1.在前端使用pdfMake 2.通过向后端发送请求,使用dompdf或maatwebsite或任何其他laravel库
上述两种方法都足以生成纯PDF。
问题是我想在生成文件之前添加PDF的一些安全功能。没有内容复制,无打印,页面提取等因此,当用户下载pdf时,这些功能应该在特定的pdf中实现。
感谢任何帮助。
答案 0 :(得分:0)
不幸的是,这两个软件包还不支持任何此类功能。有关pdfMake
,请参阅此open issue,对于laravel dompdf
,请参阅此unmerged PR。
虽然您可以自己分叉dompdf并尝试更改。
答案 1 :(得分:0)
用laravel PHP解决了这个问题。
参考链接: - https://mpdf.github.io/reference/mpdf-functions/setprotection.html
此外,https://packagist.org/packages/niklasravnsborg/laravel-pdf?q=&p=2
转到config / app.php并添加以下行
'商' => [ // ... niklasravnsborg \ LaravelPdf \ PdfServiceProvider ::类 ] '别名' => [ // ... ' PDF' => niklasravnsborg \ LaravelPdf \外立面\ PDF阅读::类 ]
从终端运行此命令 - php artisan vendor:publish
基本pdf生成 - PHP代码
使用PDF; function generate_pdf(){ $ data = [ '富' => '杆' ]。 $ pdf = PDF :: loadView(' pdf.document',$ data); return $ pdf-> stream(' document.pdf'); }
//其他选项是save($ filename),download($ filename),output() 5.使用
设置保护use PDF;
function generate_pdf() {
$data = [
'foo' => 'bar'
];
$pdf = PDF::loadView('pdf.document', $data);
$pdf->SetProtection(['copy', 'print'], '', 'pass');
return $pdf->stream('document.pdf');
}
//在集保护中传递空白数组而不是复制和打印以拒绝用户的所有权限