15 lines
1.0 KiB
PHP
15 lines
1.0 KiB
PHP
<?php
|
|
header("Content-Type: application/json");
|
|
$test_html = "/tmp/test-chart2.html";
|
|
file_put_contents($test_html, '<html><head><script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script></head><body><h1>Chart test</h1><canvas id="c" width="400" height="200"></canvas><script>window.addEventListener("load",function(){var ctx=document.getElementById("c").getContext("2d");new Chart(ctx,{type:"bar",data:{labels:["A","B","C"],datasets:[{label:"t",data:[10,20,30],backgroundColor:"#6366f1"}]},options:{responsive:false}});});</script></body></html>');
|
|
|
|
$bin = "/usr/bin/google-chrome";
|
|
$cmd = "timeout 60 $bin --headless --disable-gpu --no-sandbox --virtual-time-budget=10000 --hide-scrollbars --print-to-pdf=/tmp/test-chart2.pdf --print-to-pdf-no-header file:///tmp/test-chart2.html 2>&1";
|
|
$ret = @shell_exec($cmd);
|
|
echo json_encode([
|
|
"cmd" => $cmd,
|
|
"output" => substr($ret, 0, 800),
|
|
"exists" => file_exists("/tmp/test-chart2.pdf"),
|
|
"size" => file_exists("/tmp/test-chart2.pdf") ? filesize("/tmp/test-chart2.pdf") : 0,
|
|
]);
|