我正在尝试将带有散点的 HighCharts SVG(有或没有线它产生相同的结果)渲染到 pdf 文件。输出将使用 ImageSVG() 绘制线条,但不会渲染点。我已经对 SVG 文件进行了一些手动编辑,发现 ImageSVG 的行为就像它不喜欢这个渲染命令:<path fill="darkblue" d="M99 188a4 4 0 1 1 0-.004z" class="highcharts-point highcharts-negative highcharts-color-0"/>我将其转换为圆形渲染命令:<circle cx="95" cy="188" r="4" fill="darkblue" />它在 TCPDF 中呈现得很好。有没有办法让 ImageSVG 正确渲染路径命令来绘制点,或者我是否需要在将文件发送到 ImageSVG 之前制定一个算法来进行转换?我目前正在研究将所有路径命令转换为圆形命令的变通方法。这看起来会起作用 - 我还没有一个可行的算法。它似乎也让点出现在与“路径”命令相同的位置,我必须从 X 坐标中减去 4。我在谷歌上搜索过是否有其他人遇到过这个问题,并搜索了 stackoverflow 但没有找到任何东西。我还搜索了算法来帮助转换,但只发现人们想要以另一种方式转换 - 从圆到路径。将 svg 渲染为 pdf 文件的通用代码。pdf->ImageSVG($file='plot.svg', $x=15, $y=30, $w='', $h='', $link='http://www.tcpdf.org', $align='', $palign='', $border=1, $fitonpage=false);highcharts svg 太大无法粘贴,所以这里是相关部分: <g class="highcharts-series-group" data-z-index="3"> <g data-z-index=".1" class="highcharts-markers highcharts-series-0 highcharts-scatter-series highcharts-color-0"> <path fill="powderblue" d="M98 188a4 4 0 1 1 0-.004zM99 188a4 4 0 1 1 0-.004zM101 183a4 4 0 1 1 0-.004zM108 188a4 4 0 1 1 0-.004zM122 185a4 4 0 1 1 0-.004zM150 190a4 4 0 1 1 0-.004zM206 179a4 4 0 1 1 0-.004zM315 182a4 4 0 1 1 0-.004zM572 188a4 4 0 1 1 0-.004z" class="highcharts-point highcharts-negative highcharts-color-0"/> </g> </g>如果我只是在 Highcharts 中绘制散点图,则图表输出为空 - 没有点。如果我向散点图添加线条,它会绘制线条而不是点。(它也使用 path 命令,但 TCPDF 中的 SVG 渲染器可以很好地处理这些)
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报
0/150
提交
取消