使用JavaScript时生成PDF

时间:2015-12-03 18:44:26

标签: javascript php highcharts yii2 mpdf

我不是100%肯定我的错误。我在尝试生成PDF时收到此编码输出:

%PDF-1.4 %���� 3 0 obj <> /Contents 4 0 R>> endobj 4 0 obj <> stream x�S(T0�300@!�ҹ�iab�gai� jig`

我正在使用Yii2和highcharts包https://github.com/2amigos/yii2-highcharts-widget以及mPDF包https://github.com/kartik-v/yii2-mpdf

我希望能够生成此图表的浏览器版本以及PDF版本。浏览器版本工作正常,但PDF尝试没有。我在行动中的代码是:

  if($pdf == true){ // render as pdf

  $content = $this->renderPartial('_overallPDF', [
    'model' => $data,
  ]);

  $doc = new Pdf([
    // set to use core fonts only
    'mode' => Pdf::MODE_UTF8,
    // A4 paper format
    'format' => Pdf::FORMAT_A4,
    // portrait orientation
    'orientation' => Pdf::ORIENT_LANDSCAPE,
    // stream to browser inline
    'destination' => Pdf::DEST_BROWSER,
    // your html content input
    'content' => $content,
  ]);

  return $doc->render();

}

我不确定这里的问题,是不是因为highcharts是一个js库而且在浏览器中完成了演示?

无论哪种方式,如果有人可以帮我找到一个解决方案来生成图表作为PDF将是伟大的!

1 个答案:

答案 0 :(得分:1)

嗯,这已经得到了答案:你要做的事情根本不可能,因为MPDF支持基本的javascript ......这与yii2无关。

如果您真的想在pdf文档中输出highcharts图表,则应使用服务器端工具,例如: :http://www.highcharts.com/docs/export-module/render-charts-serverside