Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 复制svg图像输出TCPDF_Php_Javascript_Jquery_Extjs_Tcpdf - Fatal编程技术网

Php 复制svg图像输出TCPDF

Php 复制svg图像输出TCPDF,php,javascript,jquery,extjs,tcpdf,Php,Javascript,Jquery,Extjs,Tcpdf,我想用TCPDF导出一些由ExtJs制作的PDF格式的图表。我正在处理将html代码传递到TCPDF的过程: var activeTabId = Ext.getCmp('tabs').activeTab.id , activeTab = Ext.getCmp('tabs').activeTab , svgHtml = '@<svg version="1.1" style="width: 700px; height: 400px;" xmlns

我想用TCPDF导出一些由ExtJs制作的PDF格式的图表。我正在处理将html代码传递到TCPDF的过程:

var activeTabId = Ext.getCmp('tabs').activeTab.id
            , activeTab = Ext.getCmp('tabs').activeTab
            , svgHtml = '@<svg version="1.1" style="width: 700px; height: 400px;" xmlns="http://www.w3.org/2000/svg">'
            , html=''
            , svg = $("#"+activeTabId+" svg")
            , svgArray=[];

        svg.each(function(){
            svgArray.push(svgHtml+svg.html()+'</svg>');
            html+= svgHtml+svg.html()+'</svg>';
        });

        svgJSON = JSON.stringify(svgArray);

        $.post('tcpdf/examples/example_058.php', { svg : svgJSON }, function(data){
            //window.location.href='tcpdf/examples/example_058.pdf';
            console.log(data);
        });
var-activeTabId=Ext.getCmp('tabs').activeTab.id
,activeTab=Ext.getCmp('tabs')。activeTab
,svgHtml='@'
,html=“”
,svg=$(“#”+activeTabId+“svg”)
,svgArray=[];
svg.each(函数(){
推送(svgHtml+svg.html()+“”);
html++=svgHtml+svg.html()++;
});
svgJSON=JSON.stringify(svgArray);
$.post('tcpdf/examples/example058.php',{svg:svgJSON},函数(数据){
//window.location.href='tcpdf/examples/example_058.pdf';
控制台日志(数据);
});
然后我使用示例058绘制svg图像。代码如下:

$svg = isset($_POST['svg'])?json_decode($_POST['svg']):NULL;
$yDepart = 30;
$svgHeight = 200;
echo '{ svgLength :'.count($svg).'}';
for($i=0;$i<count($svg);$i++){
    $pdf->AddPage('P', $page_format, false, false);
    $pdf->ImageSVG($svg[$i], $x=0, $y=$yDepart, $w=350.0, $h=400.0, $link='', $align='M', $palign='C', $border=0, $fitonpage=true);
}
$svg=isset($\u POST['svg'])?json_decode($\u POST['svg']):空;
$1部分=30;
$svgHeight=200;
echo“{svgLength:”.count($svg)。“}”;
对于($i=0;$iAddPage($P',$page_格式,false,false);
$pdf->ImageSVG($svg[$i],$x=0,$y=$yDepart,$w=350.0,$h=400.0,$link='',$align=M',$palign=C',$border=0,$fitonpage=true);
}
问题是输出的PDF包含相同的重复图表。感谢阅读。

我发现了错误:

下面是有问题的代码:

svg.each(function(){
            svgArray.push(svgHtml+svg.html()+'</svg>');
            html+= svgHtml+svg.html()+'</svg>';
        });
svg.each(函数(){
推送(svgHtml+svg.html()+“”);
html++=svgHtml+svg.html()++;
});
我用这个来改变它:

svg.each(function(){
    svgArray.push(svgHtml+$(this).html()+'</svg>');
    html+= svgHtml+$(this).html()+'</svg>';
});
svg.each(函数(){
svgArray.push(svgHtml++$(this.html()++'');
html+=svgHtml+$(this.html()+'';
});