【发布时间】:2020-01-13 14:36:41
【问题描述】:
我在 laravel 中有以下函数用于生成 pdf
public function download_agreement(Request $request){
try{
/* $items = DB::table("items")->get();
view()->share('items',$items); */
if ($request->has('download')) {
$pdf = PDF::loadView('pdf.agency.agreement');
return $pdf->download('pdfview.pdf');
}
$pdf = PDF::loadView('pdf.agency.agreement');
return view('pdfview');
}
catch(\Exception $error){
Log::error('[RegistrantsController] error in send_agreement ' . $error);
return response()->json(['code' => 403, 'message' => 'Something went wrong']);
}
}
然后我正在执行以下操作:
downloadAgreement() {
console.log("DOWNLOAD");
let sendData = {
uuid: this.$route.params.uuid,
email: "email@gmail.com",
download: true
};
axios
.post(config.routePrefix + "/agency/download_agreement", sendData)
.then(response => {
console.log(response);
const url = window.URL.createObjectURL(new Blob([response.data]));
console.log(url);
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", "file.pdf");
document.body.appendChild(link);
link.click();
})
.catch(error => {
console.log(error);
});
}
我生成了 pdf 并设法下载了它。我遇到的问题是它向我显示了空白的pdf。 在我的 .blade 文件中:
@extends('pdf.layout')
@section('style')
<style>
.agreement-text {
margin-left: 7%;
margin-right: 7%;
}
.sign-line{
align-self: center;
width: 60%;
border-bottom: 1px solid black;
}
.ql-align-justify{
text-align: justify;
}
.ql-align-center{
text-align: center;
}
.header-line{
border: none;
height: 3px;
color: #a1d138 ;
background-color: #a1d138 ;
}
</style>
@stop
@section('content')
<header>
{{-- <img style="width: 30%;" src="{{ config('arm.arm_app.email_pdf_logo') }}"> --}}
<hr class="header-line">
</header>
<div class="agreement-text">
TEST TEST TEST TEST
</div>
<div class="img-div">
{{-- <img class="img-center" src="{{$sign}}"> --}}
</div>
<div class="img-div">
<hr class="sign-line">
Nombre
</div>
@stop
目前我没有发送任何数据,我只是想轻松生成带有文本的 pdf
【问题讨论】:
-
内部服务器错误总是伴随着特定的错误消息。在你的日志中找到它并弄清楚它说了什么。
-
我已经生成并下载了它,但它显示为空白。我已经编辑了我的问题