Mathjax和mPDF条格式

时间:2018-07-14 19:55:12

标签: mpdf

所以,我已经为此工作了一段时间。

我有一个网页,其中Mathjax输出到SVG。我得到了div的内容,然后将其重新格式化以使用mPDF和隐藏的mPDF标签进行打印。我使用了mPDF文档中的示例内容来使其正常工作。

$mpdf = new \Mpdf\Mpdf('');

$html = $_POST['bodydata'];
$html = urldecode($html);

preg_match('/<svg[^>]*>\s*(<defs.*?>.*?<\/defs>)\s*<\/svg>/', $html, $m);
$defs = $m[1];
$html = preg_replace('/<svg[^>]*>\s*<defs.*?<\/defs>\s*<\/svg>/', '', $html);
$html = preg_replace('/(<svg[^>]*>)/', "\\1".$defs, $html);
preg_match_all('/<svg([^>]*)style="(.*?)"/', $html, $m);

for ($i = 0; $i < count($m[0]); $i++) {
    $style = $m[2][$i];

    preg_match('/width: (.*?);/',$style, $wr);
    $w = $mpdf->ConvertSize($wr[1], 0, $mpdf->FontSize) * $mpdf->dpi/25.4;

    preg_match('/height: (.*?);/',$style, $hr);
    $h = $mpdf->ConvertSize($hr[1], 0, $mpdf->FontSize) * $mpdf->dpi/25.4;

    $replace = '<svg'.$m[1][$i].' width="'.$w.'" height="'.$h.'" style="'.$m[2][$i].'"';
    $html = str_replace($m[0][$i], $replace, $html);
}

现在这有一个非常奇怪的输出。

(\ \ frac {2} {3})正确地去除了很多(\东西,但是,它没有显示为小数,而只是显示为23。\ sqrt {45}显示为45。

说实话,这有点亏。

这是预期的输出吗? mpdf页面上的示例文件是无效链接。

0 个答案:

没有答案