如何使用xhtmlrenderer在PDF中呈现亚洲字符

时间:2009-11-08 21:58:03

标签: java pdf-generation xhtmlrenderer flying-saucer

我想知道使用基于java的xhtmlrenderer(飞碟)库渲染亚洲字符需要哪些步骤?

我想呈现以下内容:

<html>
    <body>同名の映画のモデ</body>
</html>

没有任何字体设置被添加到HTML中,这在普通浏览器中呈现得很好,但我无法使用xhtmlrenderer的iTextRenderer部分将其渲染为PDF。

在关注邮件列表中的各个主题之后,我看到很多帖子都在谈论从c:\ windows \ fonts目录添加.TTF文件,我已经修改了在linux上运行的示例(https://gist.github.com/643173745182c9becc57) ,它显示了我显示的各种字体,但我没有看到任何亚洲的格纹。

有没有人有任何体面的指针,或解决这个问题的干净解决方案?或者我在其他地方用一个非常简单的解决方案来查看错误的问题?

2 个答案:

答案 0 :(得分:1)

您还可以在css中添加字体样式信息。

@font-face {
    font-family: 'your_font_face_name';
    src: url('your_font.ttf');

    -fs-pdf-font-embed: embed;
    -fs-pdf-font-encoding: Identity-H;
        }

答案 1 :(得分:0)

要支持大字符集,您需要指定包含其中所有字符的字体文件。选择字体文件后,您需要将应用程序指向该文件。我发现只是将字体文件放在你的字体目录中是行不通的。

尝试嵌入字体,例如

renderer.getFontResolver().addFont("your_font_file.ttf", BaseFont.EMBEDDED);

This link有很多字体文件。