提问者:小点点

飞碟:PDF中呈现为盒子的汉字


当我使用飞碟将html页面转换为汉字时。汉字显示为如下框

我尝试了两种方法:使用css如这个答案飞碟字体为unicode字符和使用代码如这个答案飞碟iTextPDF中文字体,但它们不起作用。有人有其他建议吗?

我在meta标签中声明了UTF-8字符集,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html language="en">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">   </meta>
<link rel="stylesheet" type="text/css" href="file:///opt/template/employer.css"/>
<link rel="stylesheet" type="text/css" href="file:///opt/template/style.css"/>
<link rel="stylesheet" type="text/css" media="print" href="file:///opt/template/print.css"/>
</head>

以下是相关的中文部分:

<tbody><tr>
                                        <td align="left" width="150" valign="top">
                                            Name
                                        </td>
                                        <td align="left" width="305" valign="top">
                                            <label id="candidateName">VU DINH THE / 你好</label>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left" width="150" valign="top">
                                            Gender/Status
                                        </td>
                                        <td align="left" width="305" valign="top">
                                            <label id="gender">Female</label> / <label id="status">Single
</label>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left" width="150" valign="top">
                                            Date of Birth/Age
                                        </td>
                                        <td align="left" width="305" valign="top">
                                            <label id="dob">12 Sep 1985</label> / <label id="age">30</label>
                                        </td>
                                    </tr>

以及print. css的内容:

@font-face {
    font-family: Arial Unicode MS;
    src: url('file:///opt/template/arialuni.ttf');
    -fs-pdf-font-embed: embed;
    -fs-pdf-font-encoding: Identity-H;
}

共1个答案

匿名用户

用空正方形或矩形替换字符通常意味着该字符未在字体文件中定义,并且系统找不到绘制它的信息。

在这种情况下,超文本标记语言和CSS代码是正确的,但是arialuni. ttf文件是不完整的。

作为参考,arialuni. ttf应该是~23MB。