有很多关于这个话题的讨论,但都没有解决我的问题。我想要做的很简单——生成一个条形图,然后将此图嵌入到我将使用TCPDF库生成的pdf文件中。
使用TCPDF生成HTML内容时没有任何问题,但当涉及生成图表并将其包含在pdf文件中时,就会出现各种问题。 生成图表 我正在使用svggraph库创建图表。生成图表非常简单,唯一的问题是通过包含主类文件发送了标头。当发送标头时,TCPDF无法生成PDF文档。
我的设置如下:
generatereport.php - TCPDF在此页面上生成pdf文档 graph.php - SVGGraph在此页面上生成条形图
我已经尝试过:
“@”符号告诉函数正在发送XML数据,而不是SVG文件。
使用TCPDF生成HTML内容时没有任何问题,但当涉及生成图表并将其包含在pdf文件中时,就会出现各种问题。 生成图表 我正在使用svggraph库创建图表。生成图表非常简单,唯一的问题是通过包含主类文件发送了标头。当发送标头时,TCPDF无法生成PDF文档。
我的设置如下:
generatereport.php - TCPDF在此页面上生成pdf文档 graph.php - SVGGraph在此页面上生成条形图
我已经尝试过:
file_get_contents('graph.php')
来自generatereport.php
- 当我使用TCPDF提供的内置writeHTML
函数时,pdf报告中没有任何输出。- require_once('graph.php') - 头信息已经发送错误
echo file_get_contents('graph.php')
- 头信息已经发送,但这是预期的。好消息是图表已经正确显示。
目标(我想要发生的事情)
TCPDF有一个内置的ImageSVG
函数,用于此特定目的。第一个参数可以接受SVG数据的XML字符串;问题在于我无法弄清楚如何从graph.php
页面返回XML数据(我已经阅读了我能找到的每个文档页面)。
有人有使用这两个库的经验吗?
谢谢!
编辑:一些代码
Graph.php:
<?php
require_once 'svggraph/SVGGraph.php';
$graph = new SVGGraph(500, 400);
$graph->Values(1, 4, 8, 9, 16, 25, 27);
$graph->Render('LineGraph', true, true)
?>
generatereport.php
$html = file_get_contents('http://localhost:8080/vu/graph.php');
if(!empty($file)){
//$pdf->Write(0, $html, '', 0, 'L', true, 0, false, false, 0);
//$pdf->writeHTML($html, true, false, true, false, '');
$pdf->ImageSVG('@' . $html, $x=15, $y=30, $w='', $h='', $link='http://www.tcpdf.org', $align='', $palign='', $border=1, $fitonpage=false);
}
“@”符号告诉函数正在发送XML数据,而不是SVG文件。