我正在尝试使用laravel-dompdf库生成pdf . 我通过作曲家下载了包 .
composer require barryvdh/laravel-dompdf
我更新了我的配置>> app.php
'providers' => [
....
Barryvdh\DomPDF\ServiceProvider::class,
],
'aliases' => [
....
'PDF' => Barryvdh\DomPDF\Facade::class,
],
我在我的控制器中包含了PDF类
use PDF;
我的控制器 HomeController.php 是
<?php
namespace App\Http\Controllers;
use PDF;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index(){
$pdf = PDF::loadView('welcome');
return $pdf->download('invoice.pdf');
}
}
但是,当我调用此方法时,它显示以下错误
“fopen(C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ storage \ fonts / \ b4947bfc07f9f11b363f4d7446cd3e99.ufm):无法打开流:没有这样的文件或目录”
我还在bootstrap / app.php中添加了以下内容
$app->register(\Barryvdh\DomPDF\ServiceProvider::class);
$app->configure('dompdf');
在我的config目录中没有生成dompdf.php . 我试过了
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
但它显示以下错误
PHP致命错误:未捕获ReflectionException:类配置不存在
C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php:767堆栈跟踪:C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php(767):ReflectionClass - > __ construct('config')C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php(646):Illuminate \ Container \ Container-> build('config')C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php(601) ):Illuminate \ Container \ Container-> resolve('config',Array)C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Application.php(740):照亮\ Container \ Container-> make('config',Array)C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container.php(1210):Illuminate \ Foundation \ Application-> make('config')C:\ U在C:\ Users \ asus \ Desktop \ Laravel \ PDFGenerator \ vendor中第767行\ laravel \ framework \ src \ Illuminate \ Container \ Container.php
3 回答
去掉
这是Lumen不是Laravel . 您仍需要指定字体 . 这是我的方式:
默认配置设置在config / dompdf.php中设置 . 将此文件复制到您自己的config目录以修改值 . 您可以使用以下命令发布配置:
在使用此命令生成pdf之前,您仍然可以更改代码中的dompdf选项:
可用选项及其默认值:
首先,安装包:
在文件 config/app.php
现在我们将为演示示例添加路由,因此只需在路由文件中添加以下路由即可
routes/web.php
现在我们在这里创建
HomeController
:在这里,我们需要创建新的控制器HomeController,它将管理generatePDF路由方法 . 那么让我们把下面的代码 .
app/Http/Controllers/HomeController.php
添加 myPDF.blade.php 文件:
最后,我们需要创建刀片文件调用 myPDF.blade.php .