Laravel добавить защиту паролем для существующего файла PDF - PullRequest
0 голосов
/ 28 мая 2018

Я использую Laravel 5.4 и PHP 7.0.Я хочу добавить защиту паролем для существующего файла PDF, я искал в Интернете, но нашел решение по добавлению защиты паролем при экспорте файла PDF из HTML в PDF.

Пожалуйста, дайте мне некоторые рекомендации по поводу библиотеки или решения, которое нужно решитьэта проблема.

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Введите следующую команду:

composer require reposys/laravel-pdf

Чтобы начать использовать Laravel, добавьте поставщика услуг и фасад в ваш config / app.php:

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

Чтобы установить защиту, выпросто вызовите метод SetProtection () и передайте массив с разрешениями, паролем пользователя и паролем владельца.

Пароли необязательны.

Существует несколько разрешений: «копировать», «print ',' modify ',' annot-forms ',' fill-forms ',' extract ',' assembly ',' print-highres '.

use PDF;

function generate_pdf() {
 $data = [
    'foo' => 'bar'
];
 $pdf = PDF::loadView('pdf.document', $data);
 $pdf->SetProtection(['copy', 'print'], '', 'pass');
 return $pdf->stream('document.pdf');
}
0 голосов
/ 28 мая 2018

как это

use Illuminate\Http\Request;

class DownloadController extents Controller
{
    public function showForm()
    {
        return view('show.password.form'); //add view with form
    }
    public function download(Request $request)
    {
        if ($request->input('password') === 'your password') {
            return response()->download($pathToFile);
        } else {
            abort(403, 'Unauthorized action.');
        }
    }
}
...