如何在使用 javascript 从 HTML 生成 PDF 时添加 pdf 的安全属性?

How to add security properties of pdf while generating PDF from HTML using javascript?

我正在使用 PHP/Laravel 后端开发一个 Angular 4 项目。

我可以通过两种方式生成 PDF:- 1. 在前端使用 pdfMake 2. 通过向后端

发送请求来使用dompdf 或maatwebsite 或任何其他laravel 库

以上两种方式都足以生成普通PDF

问题是我想在生成文件之前添加 PDF 的一些安全功能,即。没有内容复制、没有打印、页面提取等。 因此,当用户下载 pdf 时,这些功能应该在该特定 pdf 中实现。

感谢任何帮助。

不幸的是,这两个包都不支持任何此类功能。请参阅此 open issue for pdfMake and this yet unmerged PR 以获得 laravel dompdf

尽管您可以自己分叉 dompdf 并尝试更改。

解决了 laravel PHP 的问题。

参考 link:- https://mpdf.github.io/reference/mpdf-functions/setprotection.html

此外,https://packagist.org/packages/niklasravnsborg/laravel-pdf?q=&p=2

  1. 作曲家要求 niklasravnsborg/laravel-pdf
  2. 转到 config/app.php 并添加以下行

    'providers' => [ // ... niklasravnsborg\LaravelPdf\PdfServiceProvider::class ] 'aliases' => [ // ... 'PDF' => niklasravnsborg\LaravelPdf\Facades\Pdf::class ]

  3. 运行 来自终端的命令 - php artisan vendor:publish

  4. 基本pdf生成--PHP

    中的代码

    使用PDF; 函数 generate_pdf() { $数据= [ 'foo' => 'bar' ]; $pdf = PDF::loadView('pdf.document', $数据); 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');
}

//在set protection中传递空白数组而不是复制和打印来拒绝用户的所有权限