为什么生成的 pdf 不是 CSS 样式?
Why the generated pdf doesn't is not CSS styled?
我有这样的看法 welcome.blade.php:
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Blog</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link href="{{ asset('css/app.css') }}" rel="stylesheet" media="print">
<link href="{{ asset('css/example.css') }}" rel="stylesheet" media="print">
<link rel="preconnect" href="https://fonts.gstatic.com">
</head>
<body class="font-sans antialiased w-full">
....
我正在使用 tailwindcss,此页面的响应式布局包含多种颜色、svg 等。它工作正常,但我正在尝试使用 barryvdh/laravel-dompdf 生成此页面的 pdf。但是pdf下载下来没有任何样式,没有颜色,有衬线字体,排版也很乱。
pdf 功能的路由:
Route::get('/', [PDFController::class, 'generatePDF']);
PDF 控制器:
use Illuminate\Http\Request;
use PDF;
class PDFController extends Controller
{
public function generatePDF()
{
$data = [
'title' => 'PDF Title',
'author' => 'Author'
];
$pdf = PDF::loadView('welcome', $data);
return $pdf->download('test.pdf');
}
}
你知道问题出在哪里吗?
样式和视图不会自动继承,domPdf 需要提供特定视图和css才能正常工作。
看这里:
How to include the external style sheet in dom pdf
这是关于如何实现这一目标的非常详细的指南:
https://www.positronx.io/laravel-pdf-tutorial-generate-pdf-with-dompdf-in-laravel/
我有这样的看法 welcome.blade.php:
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Blog</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link href="{{ asset('css/app.css') }}" rel="stylesheet" media="print">
<link href="{{ asset('css/example.css') }}" rel="stylesheet" media="print">
<link rel="preconnect" href="https://fonts.gstatic.com">
</head>
<body class="font-sans antialiased w-full">
....
我正在使用 tailwindcss,此页面的响应式布局包含多种颜色、svg 等。它工作正常,但我正在尝试使用 barryvdh/laravel-dompdf 生成此页面的 pdf。但是pdf下载下来没有任何样式,没有颜色,有衬线字体,排版也很乱。
pdf 功能的路由:
Route::get('/', [PDFController::class, 'generatePDF']);
PDF 控制器:
use Illuminate\Http\Request;
use PDF;
class PDFController extends Controller
{
public function generatePDF()
{
$data = [
'title' => 'PDF Title',
'author' => 'Author'
];
$pdf = PDF::loadView('welcome', $data);
return $pdf->download('test.pdf');
}
}
你知道问题出在哪里吗?
样式和视图不会自动继承,domPdf 需要提供特定视图和css才能正常工作。
看这里:
How to include the external style sheet in dom pdf
这是关于如何实现这一目标的非常详细的指南:
https://www.positronx.io/laravel-pdf-tutorial-generate-pdf-with-dompdf-in-laravel/