Apache fop生成的PDF通过用'?'替换重音字符来呈现超链接

时间:2016-06-28 07:29:34

标签: apache pdf character-encoding apache-fop

我使用Apache FOP 1.1以编程方式生成PDF。 PDF应该包含文档的名称作为超链接。当我点击名称时,它应该打开相应的文件。这是代码:

<fo:block>
    <fo:basic-link color="blue" show-destination="new">
        <xsl:attribute name="external-destination">
            <xsl:choose>
                <xsl:when test="@parentFolderPath">
                   <xsl:value-of select="@parentFolderPath" />/<xsl:value-of select="@FileName" />
                </xsl:when>
                <xsl:otherwise>
                   <xsl:value-of select="@FileName" />
                </xsl:otherwise>
            </xsl:choose>
        </xsl:attribute><xsl:call-template name="writeWithoutOverlap"><xsl:with-param name="data" select="@FileName"/></xsl:call-template>                   
    </fo:basic-link>
</fo:block>

当我的名字中有英文字符的文件时,这完全正常。但是,当我有一个这样的文件名:“étudiantoùforêtnaïvegarçon.docx”时,PDF中形成的超链接用'?'替换重音字符。

这是PDF的屏幕截图,您可以在其中看到格式错误的超链接: screenshot

我正在使用“Arial”字体和encoding =“UTF-8”。

当正确打印文件名时,为什么超链接会出现问题?

0 个答案:

没有答案