加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – make wkhtmltoimage等到Google Chart API完全呈现图表

发布时间:2020-05-25 09:03:49 所属栏目:PHP 来源:互联网
导读:我想做什么 使用exec打开.php页面 exec(./wkhtmltoimage-i386 abcdef.com/combined.php chart.jpg, $op, $er); 这样我就可以获得渲染图表的图像. 实际发生了什么 在运行包含上述命令的页面时,根本没有创建chart.jpg. 调试 (1)我在浏览器中直接执行combined.ph

我想做什么

使用exec打开.php页面

exec('./wkhtmltoimage-i386 abcdef.com/combined.php chart.jpg',$op,$er);

这样我就可以获得渲染图表的图像.

实际发生了什么

在运行包含上述命令的页面时,根本没有创建chart.jpg.

调试

(1)我在浏览器中直接执行combined.php,图表按预期显示.所以combination.php代码没有任何问题.

(2)我也尝试过

<h1>Hello there!</h1>

在combined.php中,这导致了chart.jpg的创建和输出显示为图像.

所以这让我相信wkhtmltoimage需要等到呈现图表然后执行转换操作.问题是我没有关于如何使转换过程等到一切都完成的想法.

用于准备图表的Javascript代码

google.load('visualization','1',{'packages':['corechart']});
google.setOnLoadCallback(drawChart);

function drawChart() {
   var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);      
   var options = {
          title: 'TNS',titleTextStyle: {color: "green"},hAxis: {title: "MONTH",titleTextStyle: {color: "green"}},vAxis: {title: "Percentage",viewWindowMode: 'explicit',},max: 100,min: 0,legend: {
                    position: 'bottom'
           },width:1000,height:550,pointSize: 8,backgroundColor:'#ddd9c3',is3D: 'true',vAxis: {
            gridlineColor: '#9d9983'
        },colors: ['black','red','green','blue','yellow']       
       };


       var chart = new google.visualization.LineChart(document.getElementById('tns1'));     
       chart.draw(data,options);

         }
您可以使用以下设置来允许呈现JavaScript内容.
--enable-javascript
--javascript-delay

我假设这个文档是最新的

http://madalgo.au.dk/~jakobt/wkhtmltoxdoc/wkhtmltoimage_0.10.0_rc2-doc.html

尝试可能是

exec('./wkhtmltoimage-i386 --enable-javascript --javascript-delay 1000 abcdef.com/combined.php chart.jpg',$er);

取决于将所有内容都移出课程所需的时间.请记住,可能存在不同的安全限制.

您肯定想要调查的其他一些选项

--run-script             // run a specific script after loading
--debug-javascript       // return javascript debug output
--no-stop-slow-scripts  
--enable-local-file-access

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读