【问题标题】:How to add security properties of pdf while generating PDF from HTML using javascript?如何在使用 javascript 从 HTML 生成 PDF 时添加 pdf 的安全属性?
【发布时间】:2018-02-02 17:57:25
【问题描述】:
我正在开发一个带有 PHP/Laravel 后端的 Angular 4 项目。
有两种方法可以生成 PDF:-
1.在前端使用pdfMake
2. 通过向后端发送请求来使用 dompdf 或 maatwebsite 或任何其他 laravel 库
以上两种方式都足以生成纯PDF。
问题是我想在文件生成之前添加一些 PDF 的安全功能,即。无内容复制、无打印、页面提取等。因此,当用户下载 pdf 时,应在该特定 pdf 中实现这些功能。
感谢任何帮助。
【问题讨论】:
标签:
angular
laravel
pdf
pdfmake
maatwebsite-excel
【解决方案2】:
解决了 laravel PHP 的问题。
参考链接:-https://mpdf.github.io/reference/mpdf-functions/setprotection.html
另外,https://packagist.org/packages/niklasravnsborg/laravel-pdf?q=&p=2
- 作曲家需要 niklasravnsborg/laravel-pdf
-
转到 config/app.php 并添加以下行
'提供者' => [
// ...
niklasravnsborg\LaravelPdf\PdfServiceProvider::class
]
'别名' => [
// ...
'PDF' => niklasravnsborg\LaravelPdf\Facades\Pdf::class
]
从终端运行此命令 - php artisan vendor:publish
-
基本的pdf生成——PHP代码
使用 PDF;
函数 generate_pdf() {
$数据 = [
'foo' => '酒吧'
];
$pdf = PDF::loadView('pdf.document', $data);
返回 $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');
}
// 在设置保护中传递空白数组而不是复制和打印以拒绝用户的所有权限