【发布时间】:2016-03-24 16:27:38
【问题描述】:
我只想将刀片上的特定部分显示为 pdf 视图。可以使用 DOMpdf 吗?请指教
public function pdf()
{
$pdf = PDF::loadView('home');
return $pdf->stream();
}
【问题讨论】:
标签: php pdf laravel-5.1 dompdf
我只想将刀片上的特定部分显示为 pdf 视图。可以使用 DOMpdf 吗?请指教
public function pdf()
{
$pdf = PDF::loadView('home');
return $pdf->stream();
}
【问题讨论】:
标签: php pdf laravel-5.1 dompdf
为什么你不为你的部分创建一个新的刀片文件,你不应该使用任何类型的扩展
@extends('layout')
所以您只需创建包含您的部分的视图模板文件
例如,如果你家有那个部分
@section('topdf')
<div class="pdfsection">My PDF Goes Here</div>
@endsection
因此您将创建一个新的刀片文件,例如名称为 mypdf.blade.php 让它只包含代码
<div class="pdfsection">My PDF Goes Here</div>
那么你的功能就是这样的
public function pdf()
{
$pdf = PDF::loadView('mypdf');
return $pdf->stream();
}
【讨论】:
您可以使用媒体类型来定义仅在 PDF 生成期间应用的样式。例如,在您不想包含在渲染中的部分上将显示设置为无的类。
@media print {
.noprint { display: none; }
}
<div>
<p>This will render to the pdf</p>
</div>
<div class="noprint">
<p>This will not render to the pdf</p>
</div>
您指定的媒体类型取决于配置为使用的 dompdf。在默认安装中,dompdf 使用“screen”媒体类型。更改 dompdf 使用的媒体类型:
在 0.6.2 或更早版本中,将 DOMPDF_DEFAULT_MEDIA_TYPE 配置常量设置为“screen”。
在 0.7.0 或更高版本中,在实例化 dompdf 后调用 $dompdf->set_option('defaultMediaType', 'print');。
dompdf 还可以识别“dompdf”媒体类型,如果由于某种原因您有一些样式,您只想在使用 dompdf 呈现为 PDF 时使用。由于这是一种非官方媒体类型,其他设备应忽略它。
【讨论】: