Php 如何使用laravel dompdf库在laravel中生成PDF
我正在尝试使用laravel dompdf库生成pdf。我通过composer下载了这个软件包Php 如何使用laravel dompdf库在laravel中生成PDF,php,laravel,pdf,dompdf,Php,Laravel,Pdf,Dompdf,我正在尝试使用laravel dompdf库生成pdf。我通过composer下载了这个软件包 composer require barryvdh/laravel-dompdf 我已经更新了我的config>>app.php 'providers' => [ .... Barryvdh\DomPDF\ServiceProvider::class, ], 'aliases' => [ .... 'PDF' => Barryvdh\DomPDF\F
composer require barryvdh/laravel-dompdf
我已经更新了我的config>>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');
}
}
我的配置目录中没有生成dompdf.php。我试过了
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
但它显示了以下错误
PHP致命错误:未捕获的ReflectionException:中不存在类配置
C:\Users\asus\Desktop\Laravel\PDFGenerator\vendor\Laravel\framework\src\lighted\Container\Container.php:767
堆栈跟踪:
C:\Users\asus\Desktop\Laravel\PDFGenerator\vendor\Laravel\framework\src\light\Container\Container.php(767):
ReflectionClass->\uuuu构造('config'))
C:\Users\asus\Desktop\Laravel\PDFGenerator\vendor\Laravel\framework\src\light\Container\Container.php(646):
照亮\Container\Container->build('config')
C:\Users\asus\Desktop\Laravel\PDFGenerator\vendor\Laravel\framework\src\light\Container\Container.php(601):
照亮\Container\Container->resolve('config',数组)
C:\Users\asus\Desktop\Laravel\PDFGenerator\vendor\Laravel\framework\src\lighted\Foundation\Application.php(740):
照亮\Container\Container->make('config',数组)
C:\Users\asus\Desktop\Laravel\PDFGenerator\vendor\Laravel\framework\src\light\Container\Container.php(1210):
照亮\Foundation\Application->make('config')C:\U in
C:\Users\asus\Desktop\Laravel\PDFGenerator\vendor\Laravel\framework\src\light\Container\Container.php
在线767
默认配置设置在config/dompdf.php中设置。将此文件复制到您自己的配置目录以修改值。可以使用以下命令发布配置:
php artisan vendor:publish
PDF::setOptions(['dpi' => 150, 'defaultFont' => 'sans-serif']);
在使用以下命令生成pdf之前,您仍然可以更改代码中的dompdf选项:
php artisan vendor:publish
PDF::setOptions(['dpi' => 150, 'defaultFont' => 'sans-serif']);
可用选项及其默认值:
rootDir: "{app_directory}/vendor/dompdf/dompdf"
tempDir: "/tmp" (available in config/dompdf.php)
fontDir: "{app_directory}/storage/fonts/" (available in config/dompdf.php)
fontCache: "{app_directory}/storage/fonts/" (available in config/dompdf.php)
chroot: "{app_directory}" (available in config/dompdf.php)
logOutputFile: "/tmp/log.htm"
defaultMediaType: "screen" (available in config/dompdf.php)
defaultPaperSize: "a4" (available in config/dompdf.php)
defaultFont: "serif" (available in config/dompdf.php)
dpi: 96 (available in config/dompdf.php)
fontHeightRatio: 1.1 (available in config/dompdf.php)
isPhpEnabled: false (available in config/dompdf.php)
isRemoteEnabled: true (available in config/dompdf.php)
isJavascriptEnabled: true (available in config/dompdf.php)
isHtml5ParserEnabled: false (available in config/dompdf.php)
isFontSubsettingEnabled: false (available in config/dompdf.php)
debugPng: false
debugKeepTemp: false
debugCss: false
debugLayout: false
debugLayoutLines: true
debugLayoutBlocks: true
debugLayoutInline: true
debugLayoutPaddingBox: true
pdfBackend: "CPDF" (available in config/dompdf.php)
pdflibLicense: ""
adminUsername: "user"
adminPassword: "password"
除去
这是为了流明而不是拉维。
您仍然需要指定字体。
这是我的方式:
$pdf = PDF::setOptions(['defaultFont' => 'dejavu serif'])->loadView('some_view', $data);
return $pdf->stream('filename.pdf');
关于配置呢?配置目录中没有生成dompdf.php文件。我用更多细节更新了我的问题。我解决了这个问题:我无法使用>>php artisan发布供应商:publish--provider=“Barryvdh\DomPDF\ServiceProvider”您的laravel版本是什么?致命错误:未捕获的ReflectionException:类配置在C:\Users\asus\Desktop\laravel\PDFGenerator\vendor\laravel\framework\src\Lightning\Container\Container.php:767中不存在