如何使用高图形自动创建pdf [英] how to auto create pdf using highchart graphs

查看:90
本文介绍了如何使用高图形自动创建pdf的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在centos 5上使用yii framework 1.14。我设计了一个视图,其中包含使用highcharts创建的4个图。我想从我的控制器/操作方法将此页面导出为pdf。
以下是我目前为止的内容。 html生成的很好,但是当我尝试导出到pdf时,我只能在视图中获取标题并且没有图形。
$ b 控制器/操作

  if(isset($ _ GET ['report'])){

$ graph = 4 ;
$ arr = array();
$其中= array(
array(PROJCODE=> array(Woking,Cairo),MC=> array(MC)),
阵列(PROJCODE=>阵列(休斯顿,开罗),MC=>阵列(MC)),
阵列(PROJCODE )MC=>阵列(MC)),
阵列(MC=>阵列(P)),
);
$ title = array(
array(Woking& Cairo),
array(Houston& Cairo),
array(Jakarta),
array(),
); ($ i = 0; $ i< $ graph; $ i ++){
$ model = new ViewWebprojectreport('weeklystatus');

;
$ model-> unsetAttributes();
$ dataProvider = $ model-> weeklystatus($ where [$ i]);
$ dataProvider-> pagination-> pageSize = $ model-> count();
// print_r($ dataProvider);
$ blank = array();
foreach($ dataProvider-> getData()as $ data){
$ blank [] = $ data;
}

$ count = 0;
$ command = array();

foreach($ dataProvider-> getData()as $ data){
$ count ++;
$命令[$ count] [PROJECT] = $ data-> PROJECT;
$命令[$ count] [StartDATE] = $ data->开始日期;
$命令[$ count] [ProjectEndDate] = $ data-> ProjectEndDate;
$命令[$ count] [PERCENT] = $ data->百分;
$命令[$ count] [MC] = $ data-> MC;
$命令[$ count] [MC] = $ data-> ActualEndDate;

$ count ++;
}
$ totalprojects = $ count;

$ cat = array();
$ totalLength = array();
$ schedule = array();
$ complete = array();
$ plans = array();

$ totalprojects = count($ command);
$ scrollcount = 0;
if(count($ command)> 20)
$ scrollcount = count($ command) - 10; //设置滚动条取决于返回的记录

foreach($ command = $ key => $ value){
$ cat [] = $ value ['PROJECT'];
$ date_from =(strtotime($ value ['StartDATE']))* 1000;
$ date_to =(strtotime($ value ['ProjectEndDate'])+ 1 * 86400)* 1000;

$ b if($ value ['MC'] == -1)
$ totalLength [] = array(low=> $ date_from,high= > $ date_to,color=>#2f7ed8);
elseif($ value ['MC'] == 0)
$ totalLength [] = array(low=> $ date_from,high=> $ date_to,color > 中#0d233a);
else
$ totalLength [] = array($ date_from,$ date_to);

$ today = time();
$ startdate = strtotime($ value ['StartDATE']);
$ enddate = strtotime($ value ['ProjectEndDate']);


if($ value ['ProjectEndDate'] ==){
$ enddate = $ startdate;
}

$ diff_total = $ enddate - $ startdate;
$ diff_today = $ today - $ startdate;

$ schedule [] = array($ date_from,$ today * 1000);

//计算以完成项目完成百分比完成的天数
$ percentage_to_get = round((float)$ value ['PERCENT'],2);
$ percentage_of_days =((int)$ value ['PERCENT'] == 0)? 0:floor($ diff_total / 100 * $ percentage_to_get);
$ percentComplete =(($ startdate + $ percentage_of_days)+ 1 * 86400)* 1000;

$ complete [] =(float)$ value ['PERCENT'];
$计划[] =($ diff_today!= 0&& $ diff_total!= 0)? (((($ today - $ startdate)/($ enddate - $ startdate))* 100)> 100)? 100:(($ today - $ startdate)/($ enddate - $ startdate))* 100:0;


$ b $ arr [] = array('cat'=> $ cat,
//data=> $ totalLength,
complete=> $ complete,
计划=> $计划中,
totalprojects=> $ count,
title=> $ title [ $ i],
key=> $ i);

// echo $ i;
// print_r($ arr);
// echo< br>< br>;
}
$ this-> layout ='weekly_status_graph';
$ html = $ this-> renderPartial('weekly_status_graph',array(arr=> $ arr),true);
/ *
#mPDF
$ mPDF1 = Yii :: app() - > ePdf-> mpdf();

#您可以轻松覆盖默认构造函数的参数
$ mPDF1 = Yii :: app() - > ePdf-> mpdf('','A4');

#render(整页)
$ mPDF1-> WriteHTML($ html);

#加载样式表
// $ stylesheet = file_get_contents(Yii :: getPathOfAlias('webroot.css')。'/main.css');
// $ mPDF1-> WriteHTML($ stylesheet,1);
$ b $#renderPartial(仅当前控制器的'视图')
// $ mPDF1-> WriteHTML($ this-> renderPartial('index',array(),true)) ;

#渲染图像
//$mPDF1->写HTML(tml:::图像(ii::Path Path O f f((('bro bro .c .c ss ss ss)))))''/ / / / / / / / / / /)

#输出就绪PDF
$ mPDF1->输出();
* /

$ pdf = $ this-> createPdf();
$ pdf-> setOptions(array('orientation'=>'Landscape',
'margin-top'=> 0,
'margin-right'=> 10 ,
'margin-bottom'=> 0,
'margin-left'=> 10,

);
// $ this-> layout ='pdf';

$ b $ pdf-> renderPage('weekly_status_graph',array(arr=> $ arr));
$ this-> render('weekly_status_graph',array(arr=> $ arr));

$ pdf-> send('w'.date('M-Y')。'。pdf');

查看

 < HEAD> 
< script src =<?php echo Yii :: app() - > request-> baseUrl;?> /js/jquery-2.1.0.js>< / script> ;
< script
type =text / javascript
src =<?php echo Yii :: app() - > request-> baseUrl;?> / js /highcharts/highstock.js\"></script>

登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆