首页 > 解决方案 > 无法识别将 xsl-fo 转换为 pdf 中点编码

问题描述

我正在寻找一种打印带有中间点的列表的方法。我正在使用 xsl 文件将其转换为 pdf 文件。下面是我的 xsl 文件示例,它导致我的 pdf 文件中出现无法识别的中间点:

<?xml version="1.0" encoding="utf-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Calibri" >
<fo:layout-master-set>
        <fo:simple-page-master master-name="FirstPage" margin-top="0.5cm">
            <fo:region-body margin-top="6cm" margin-bottom="1.5cm" margin-left="2cm" margin-right="2cm" />
            <fo:region-before extent="1cm" region-name="first-page-header"/>
            <fo:region-after extent="1cm" region-name="first-page-footer" padding-left="1cm"/>
        </fo:simple-page-master>
</fo:layout-master-set>

<fo:flow flow-name="xsl-region-body">
    <fo:block>
        <fo:inline font-family="Symbol">&#183;</fo:inline>
    </fo:block>    
</fo:flow>

我曾尝试将此符号包含在“·”、“·”和“& middot”中,但没有成功。

我还尝试在font-family="Calibri"旁边添加encoding-mode="single-byte "但仍然没有成功。

知道为什么它不起作用吗?

标签: pdfxsltxsl-fo

解决方案


放下font-family="Symbol". 目前,您使用的是 Symbol 字体&#xb7;而不是使用 Calibri,因此更改 Calibri 的配置不会改变任何内容。

根据 Windows 7 上的“字符映射”,Symbol 在 0xB7 处没有字符,而 Calibri 在 0xB7 处有中间点。

(如果 的目的fo:inline只是为了改变字体,那么你也可以去掉fo:inline.)


推荐阅读