【发布时间】:2018-11-04 19:25:15
【问题描述】:
我正在尝试在 laravel 中生成 pdf 文件,但出现错误 ErrorException (E_WARNING) fopen(C:\xampp\htdocs\prolearning\storage\fonts/\2af8d92bcac2cf6390f0434ec5aa8fe6.ufm):无法打开流:没有这样的文件或目录。 请帮忙。我的控制器编写了这两行代码,
$pdf = PDF::loadView('pdf/personalpdf', compact('user','result'));
return $pdf->stream('invoice.pdf/personalpdf');
其他代码可以工作,我可以显示数据,但无法生成 pdf 文件。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use PDF;
use Auth;
class PdfController extends Controller
{
public function personalpdf()
{
if(\Auth::check()){
$user = \Auth::user();
$user_id = $user->id;
$result = DB::table('education')->where('education.degree' ,'=','PHD')->where('user_id' ,'=', $user_id)->get();
// return view('pdf/personalpdf',compact('user', 'result'));
$pdf = PDF::loadView('pdf/personalpdf', compact('user','result'));
return $pdf->stream('invoice.pdf/personalpdf');
}else {
return view('pdf/personalpdf');
}
}
}
我安装了 dompdf,所有其他代码都可以,我是从 totural 完成的。但现在得到给定的错误 fopen(C:\xampp\htdocs\prolearning\storage\fonts/\2af8d92bcac2cf6390f0434ec5aa8fe6.ufm): failed to open stream: No such file or directory 路线代码在这里。
Route::get('pdf/personalpdf','PdfController@personalpdf');
请帮忙,提前谢谢。
【问题讨论】:
-
你应该检查pdf路径。
-
pdf路径没问题,
-
你用的是什么库?
-
它似乎正在从您的 storage 目录中请求一个 font,这是不寻常的。该字体是否存在于该目录中?
-
好像需要在存储文件夹github.com/barryvdh/laravel-dompdf/issues/269创建一个fonts文件夹