gpt4 book ai didi

php - mPDF (PHP) 无法识别 html 复选标记

转载 作者:行者123 更新时间:2023-12-05 04:34:27 28 4
gpt4 key购买 nike

我在我的网页上显示了一个 HTML 表格,其中正确显示了复选标记(我使用 作为粗体复选标记)。

我正在使用 classic-asp 来显示 HTML。然后将 html 构建(tableOutput)发布到 PHP 脚本($output = $_POST["output"]),该脚本使用 mPDF.php(版本 6.0)将相同的 HTML 表格打印为 PDF,但复选标记无法正确打印(%u2714 印在我的 PDF 上)。表格的其余部分都打印正确,只有复选标记有问题。

我尝试在 mpdf\ttfonts 文件夹中添加 Symbola.ttf 和 Symbola_hint.ttf 字体,但没有成功。

HTML(经典-asp):

tableOutput = tableOutput & "<TD class='center pass_x' style='font-family:symbola;'>&#10004;</TD>"

PHP (create_report_pdf.php):

$output = $_POST["output"];  //This is the html buildup tableOutput discussed previously
$header = Irrelevant;
$footer= Irrelevant;

$mpdf = new mPDF( 'utf-8', 'A4-L', 0, '', 5, 5, 20, 20);
$mpdf->allow_charset_conversion = true;
$mpdf->WriteHTML($style,1);
$mpdf->SetHTMLHeader( $header );
$mpdf->SetHTMLFooter( $footer );
$mpdf->WriteHTML( $output );
$mpdf->Output($temp ,'F' );

config_fonts.php(我在 mpdf\ttfonts 文件夹中添加了 symbola.ttf 和 Symbola_hint.ttf):

$this->fontdata = array (
"symbola" => array (
'R' => "Symbola.ttf",
'I' => "Symbola_hint.ttf",
),

CSS(PHP $style 变量指向 create_report_pdf.css):

.report-table{ 
border: 1px solid black;
border-collapse: collapse;
font-size: 7pt;
width: 100%;
}

th,td{
font-size: 7pt;
border: 1px solid black !important;
vertical-align : middle;
}

.center{ text-align: center; vertical-align: middle; }

INPUT{
border-color:#ffffff !important;
}

.pf{ width: 45px; }
.fix-cell{ width: 90px; }
.dr-column, .dr-input{ width: 100px; }
.comments, .comments-input{ width: 130px; }

非常感谢您的帮助

最佳答案

有两种可能的解决方案:

  • 通过执行以下操作,将 %u2714 手动替换为相应的 html 实体 :
$output = str_replace('%u2714', '&#10004;', $output);
  • 实现更通用的方法来处理所有此类特殊字符。该方法基于以下事实:%uXXXX 是用于 URL 编码 Unicode 字符的非标准符号方案。因此,您需要将 %uXXXX 符号转换为 HTML 实体符号 &#xXXXX;,然后可以通过 html_entity_decode 将其解码为实际的 UTF-8。
$output = preg_replace('/%u([0-9A-F]+)/', '&#x$1;', $output);
$output = html_entity_decode($output, ENT_COMPAT, 'UTF-8');

关于php - mPDF (PHP) 无法识别 html 复选标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71224983/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com