TCPDF使用imagesVg中的文本文件中的路径变量渲染点(圆圈)



我正在尝试将HighCharts SVG带有散点点(有或不带有线路的结果是相同的结果(。输出将使用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正确地渲染路径命令绘制点命令,或者我需要制作算法才能进行转换,然后再将文件发送到ImpassVG?

我目前正在处理一个工作,将所有路径命令转换为圆命令。看起来它会起作用 - 我还没有为此工作的算法。

它似乎也使点出现在与"路径"命令相同的位置,我必须从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中进行散点图,则图表输出为空 - 没有点。

如果我在散点图中添加线条,则绘制线路,但没有绘制点。(也使用路径命令,但是TCPDF中的SVG渲染器可以处理这些命令(

这是我为此问题找到的解决方案;

我切换到使用MPDF库。

代码更改将非常重要,但总体上比使用TCPDF更好。要渲染SVG,我在HTML文档中创建整个认证页面,然后使用MPDF中内置的" WriteHTML"函数编写。

它呈现dot的路径命令,没有任何渲染错误。

相关内容

  • 没有找到相关文章

最新更新