【发布时间】:2019-02-06 16:02:47
【问题描述】:
我已经安装了 laravel 5.6 并安装了 barryvdh/laravel-dompdf 包。我使用了一些 jquery 图表插件在刀片文件上显示图表,它工作正常。通过使用 dompdf 包,我试图在 pdf 上显示这个饼图,但图表没有显示在 pdf 上。如何在 pdf 上显示图表,有什么解决方案可以在流媒体/下载 pdf 上显示图表吗?
图表插件/库在查看刀片文件时显示以下图表:
我正在尝试在流式传输/下载的 pdf 上显示此图表
代码如下:
控制器代码:
public function generate_pdf(){
$data = [
'foo' => 'bar'
];
//return view('pdf');
$pdf = PDF::loadView('pdf', $data);
return $pdf->stream('document.pdf');
}
pdf.blade.php 代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Create</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="{{ asset('public/js/piechart.js') }}"></script>
<script>
window.onload = createPieChart;
function createPieChart() {
var pieChart = new PieChart( "piechart",
{
includeLabels: true,
data: [40, 250, 70],
labels: ["11%", "69.6%", "17.4%"],
colors: [
["#FFDAB9", "#FFDAB9"],
["#E6E6FA", "#E6E6FA"],
["#E0FFFF", "#E0FFFF"]
]
}
);
pieChart.draw();
}
</script>
</head>
<body>
<canvas id="piechart" width="400" height="400">
</canvas>
</body>
</html>
【问题讨论】:
-
由于不兼容问题,您在尝试使 dompdf 与外部 jquery 库一起工作时会遇到很多问题。您可以做的是检查 dompds 的要求,即它可以转换的 html 代码中的内容,然后检查该 jquery 插件生成和操作的 html 是否满足这些要求。但我敢打赌你会遇到很多困难,因为 dompdf 已经过时了,而且实际上从来没有支持过很多高级 jquery 对 html 树的干扰。
-
OK...任何其他将带有图表和图形的刀片文件html转换为pdf的解决方案..?或任何其他 laravel 包,或任何 php 解决方案或 jquery 插件解决方案?
标签: javascript laravel pdf pie-chart dompdf