1

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

我想渲染以下内容:

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

如果没有将任何字体设置添加到 HTML,这在普通浏览器中可以很好地呈现,但我无论如何都找不到使用 xhtmlrenderer 的 iTextRenderer 部分将其呈现为 PDF。

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

有没有人对这个问题有任何体面的指示或干净的解决方案?还是我在其他地方用一个非常简单的解决方案来寻找错误的问题?

4

2 回答 2

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;
        }
于 2013-04-04T13:30:52.000 回答
0

要支持大字符集,您需要指定一个包含所有这些字符的字体文件。一旦你选择了一个字体文件,你就需要你的应用程序指向那个文件。我发现仅将字体文件放在字体目录中是行不通的。

尝试嵌入字体,例如。

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

这个链接有很多字体文件。

于 2009-11-09T00:25:10.170 回答