如何让phplot图形正确显示在dompdf中?

时间:2014-01-05 13:51:44

标签: php wordpress resize dompdf

我正在使用Wordpress插件post-to-pdf生成pdf报告,并使用dompdf生成pdf。我使用phplot在报告中添加了一个图表。图表转换为pdf罚款,但报告的其余部分已经消失,我无法调整图表的大小。我尝试将图形包装为图像。有什么想法吗?

//The graph function
function graphmaker(){
// Include Graph
include( PDFEXPORT_PLUGIN_PATH.'/graph/phplot/phplot.php' );
//Define the object
$plot = new PHPlot(800,600);
//Define some data
$example_data = array(
array('a',3),
array('b',5),
array('c',7),
array('d',8),
array('e',2),
array('f',6),
array('g',7)
);
$plot->SetDataValues($example_data);
//Turn off X axis ticks and labels because they get in the way:
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
//Draw it
$plot->DrawGraph();}

return '<img src="'. graphmaker() .'" width="200" height="200">';

当我查看代码时,PDF格式的%PDF-1.3正在替换为顶部的%PNG?

1 个答案:

答案 0 :(得分:0)

在PDF格式的图表中挣扎了一天后,我终于开始工作了。我想这不是你大多数人会选择的那种解决办法,但它解决了我的问题,可能会解雇别人。

我切换到jpgraph并将其上传到另一台服务器(出于某种原因,我无法让它在与dompdf相同的服务器上运行)。我把图表制作代码放在jpgraph服务器上的一个文件中,并调用了graphmaker.php文件。我在制作dompdf pdf的html中召唤了graphmaker.php。

<img style="padding-left:60px;" src="http://mydomain.com/chart/jpgraph/graphmaker.php?a='.$prog1.'&b='.$prog2.'&c='.$prog3.'&d='.$prog4.'&e='.$prog5.'&f='.$prog6.'&g='.$prog7.'&h='.$prog8.'&i='.$prog9.'&j='.$prog10.'&k='.$prog11.'&aa='.$well1.'&bb='.$well2.'&cc='.$well3.'&dd='.$well4.'&ee='.$well5.'&ff='.$well6.'&gg='.$well7.'&hh='.$well8.'&ii='.$well9.'&jj='.$well10.'&kk='.$well11.'">

最后一个疯狂的位是一组两组变量用于绘制我的折线图。

在graphmaker.php中,我做的第一件事是解析URL:

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$parsedurl =  parse_url($url, PHP_URL_QUERY);

parse_str($parsedurl);

解析URL给了我$ a,$ b,$ c等变量,这些变量存储了图形所需的线图信息。