Localhost很好,但上传到服务器时无法正常工作
public function printSalesRecord()
{
$setPaperSize = 'A4';
$pdf = App::make('dompdf');
$pdf = PDF::loadView('salesrecord/PrintSalesRecord')->setPaper($setPaperSize)->setOrientation('portraite');
return $pdf->stream();
}
%PDF-1.3 1 0 obj<< /类型/目录/概述2 0 R /页3 0 R>> endobj 2 0 obj<< /类型/轮廓/计数0>> endobj 3 0 obj<< / Type / Pages / Kids [6 0 R] / Count 1 / Resources<< / ProcSet 4 0 R / Font<< / F1 8 0 R> >> / MediaBox [0.000 0.000 595.280 841.890]>> endobj 4 0 obj [/ PDF / Text] endobj 5 0 obj<< / Creator(DOMPDF)/ CreationDate(D:20161122092040 + 00'00')/ ModDate(D:20161122092040 + 00'00')>> endobj 6 0 obj<< /类型/页面/父母3 0 R /内容7 0 R>> endobj 7 0 obj<< / Filter / FlateDecode / Length 73>>流x 2 300P@& ҹ B M -L L ,BR B 5JR K Drr f B k endstream endobj 8 0 obj<< / Type / Font / Subtype / Type1 / Name / F1 / BaseFont / Times-Roman / Encoding / WinAnsiEncoding>> endobj xref 0 9 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000274 00000 n 0000000303 00000 n 0000000417 00000 n 0000000480 00000 n 0000000624 00000 n预告片<< /大小9 /根1 0 R /信息5 0 R>> startxref 733 %% EOF
答案 0 :(得分:0)
请仔细检查供应商:发布
看起来你的pdf可能包含utf-8字符。
提示:UTF-8支持
如果您想支持UTF-8
,则需要在模板文件中添加此项<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
另一种可能性;
您可以将字体目录从 / BaseFont / dompdf / lib / fonts / Times-Roman 更改为 / BaseFont / Times-Roman 吗?
答案 1 :(得分:0)
尝试将响应标头添加到您的Laravel代码
Response::header('Content-type', 'application/pdf');
或者只需在您的路线中添加.pdf
分机。
或使用download()
功能代替stream()
答案 2 :(得分:0)
在要加载的文件中添加对UTF-8的支持。这是对我有用的示例代码
$checkedProducts = $request->input('products');
$pdf = App::make( 'dompdf.wrapper' );
$html ='<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"</head><body>
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Dashboard</div>
<div class="panel-body">
<table class="table">
<thead>
<th>Product Name</th>
</thead>
<tbody>';
for($i = 0; $i<count($checkedProducts); $i++){
$products = DB::table('products')->where('id', $checkedProducts[$i] )->value('name');
$html.= '<tr><td>'. $products .'</td></tr>';
}
$html.= '</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html> ';
$pdf->loadHTML($html);
return $pdf->download( 'quote.pdf' );
}
我加载了没有html标记的PDF文件,并遇到了与您相同的问题。我添加了它们,还添加了带有UTF-8支持的meta标签,并且运行良好。