我使用的是Laravel 5.4和PHP 7.0。我想为现有的PDF文件添加密码保护,我在互联网上搜索但只找到了将PDF文件从HTML导出为PDF时添加密码保护的解决方案。
请给我一些关于解决这个问题的库或解决方案的建议。
答案 0 :(得分:0)
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.');
}
}
}
答案 1 :(得分:0)
输入以下命令:
composer require reposys/laravel-pdf
要开始使用Laravel,请将服务提供商和Facade添加到config / app.php中:
'providers' => [
// ...
niklasravnsborg\LaravelPdf\PdfServiceProvider::class
]
'aliases' => [
// ...
'PDF' => niklasravnsborg\LaravelPdf\Facades\Pdf::class
]
要设置保护,只需调用SetProtection()方法并传递一个包含权限,用户密码和所有者密码的数组。
密码是可选的。
有一些权限:'copy','print','modify','annot-forms','fill-forms','extract','assemble','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');
}