이를 사용하여 2.5.0 그래프 렌더링하지 않습니다
WKpdftohml 버전 0.12.3.2
PHPwkhtmltopdf 버전 2.2.0
Chart.JS 버전 2.5.0Wkhtmltopdf는 Chart.JS에게
내가하려고 해요 위의 라이브러리를 사용하여 선 그래프를 인쇄하십시오. 쉘 명령을 사용하여 pdf를 재현 할 수 있습니다. wkhtmltopdf --javascript-delay 5000 " http://netdna.webdesignerdepot.com/uploads7/easily-create-stunning-animated-charts-with-chart-js/chartjs-demo.html" test2.pdf
그래서 WKhtmltopdf에는 문제가 없습니다.
PHPwkhtmltopdf 라이브러리를 사용하여 내 앱에서 문제가 발생하는 경우가 있습니다. 나는 빈 페이지를 얻는다. 내 연구에서
이 내가 시도 것들 :
- 추가
'javascript-delay' => 500
Chart.JS 옵션으로는; animation:{onComplete: function() {window.JSREPORT_READY_TO_START =true}
을 Chart.JS 옵션에 추가했습니다.- 캔버스 html 태그의 부모 div에
<div style="width:800px;height:200;font-size:10px;">
을 추가했습니다. - 차트의 자바 스크립트 초기화에
ctx.canvas.width = 800;ctx.canvas.height = 200;
이 추가되었습니다.
아무 것도 효과가 없습니다. 저는 Chart.JS와 WKhtmltopdf를 좋아하지만, 인쇄를 할 수 없다면 그 중 하나를 삭제해야합니다. 어떤 해결책이 있습니까?
이것은 PHPwkhtmltopdf 내 PHP 코드 : 페이지 출력 PHP 파일을 만들어
public function imprimir ($request, $response)
{
// include_once 'config/constants.php';
// include_once 'resources/auxiliar/helpers.php';
$folha = $_POST['printit'];
$variaveis = explode(',', $folha);
$nomeFicheiro = $variaveis[0];
$printName = substr($nomeFicheiro, 5);
if (isset($variaveis[2])) {
$_SESSION['mesNumero'] = $variaveis[2];
$_SESSION['mes'] = $variaveis[1];
} else {
$mesNumero = 0;
$mes = '';
}
ob_start();
if ($nomeFicheiro == 'printPpiam') {
require ('C:/xampp/htdocs/.../'.$nomeFicheiro.'.php');
} else {
require ('C:/xampp/htdocs/.../'.$nomeFicheiro.'.php');
}
$content = ob_get_clean();
// You can pass a filename, a HTML string, an URL or an options array to the constructor
$pdf = new Pdf($content);
// On some systems you may have to set the path to the wkhtmltopdf executable
$pdf->binary = 'C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf';
$pdf -> setOptions(['orientation' => 'Landscape',
'javascript-delay' => 500,
// 'enable-javascript' => true,
// 'no-stop-slow-scripts' => true]
]);
if (!$pdf->send($printName.'.pdf')) {
throw new Exception('Could not create PDF: '.$pdf->getError());
}
$pdf->send($printName.'.pdf');
}
# 업데이트 1
. 브라우저에서 실행하고 그래프를 렌더링합니다. 콘솔에서 할 때 그래프를 제외한 모든 것을 렌더링합니다!
어떻게 wkhtmltopdf가이 페이지의 그래픽을 렌더링 할 수 있습니까? http://netdna.webdesignerdepot.com/uploads7/easily-create-stunning-animated-charts-with-chart-js/chartjs-demo.html
하지만 내 자신이 아니십니까?!
애니메이션을 끄려고 했습니까? – Quince
어떻게하면됩니까? 나는 시도했다 :'$ pdf -> setOptions ([ 'orientation'=> 'Landscape', 'javascript-delay'=> 500, // 'window-status'=> 'myrandomstring', 'animation'=> false, 'debug-javascript', 'no-stop-slow-scripts', ]); '그러나 실패합니다. –