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

Java 如何使用xhtmlrenderer在PDF中呈现亚洲字符,java,pdf-generation,xhtmlrenderer,flying-saucer,Java,Pdf Generation,Xhtmlrenderer,Flying Saucer,我想知道使用基于java的xhtmlrenderer(飞碟)库渲染亚洲字符需要哪些步骤 我希望呈现以下内容: <html> <body>同名の映画のモデ</body> </html> 同名の映画のモデ 没有任何字体设置被添加到HTML中,这在普通浏览器中可以很好地呈现,但是我找不到使用xhtmlrenderer的iTextRenderer部分将其呈现为PDF的方法 在跟踪邮件列表上的各种线程之后,我看到了很多关于从c:\windows

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

我希望呈现以下内容:

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

同名の映画のモデ
没有任何字体设置被添加到HTML中,这在普通浏览器中可以很好地呈现,但是我找不到使用xhtmlrenderer的iTextRenderer部分将其呈现为PDF的方法

在跟踪邮件列表上的各种线程之后,我看到了很多关于从c:\windows\fonts目录添加.TTF文件的帖子,并且我修改了示例以在linux()上运行,这显示了显示的各种字体,但我没有看到任何亚洲GLYFF


有没有人对这个问题有什么像样的建议或干净的解决方案?或者我在其他地方看到了一个非常简单的解决方案的错误问题?

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

尝试嵌入字体,例如

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

有相当多的字体文件

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

尝试嵌入字体,例如

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

有相当多的字体文件

您还可以在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;
        }

您还可以在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;
        }

我从来没有使用过飞碟,所以我不回答,但通常这种事情涉及到添加字体到渲染器。浏览器通常足够智能来检测它,但这些库中的大多数都不会费心去寻找合适的字体。(例如BIRT在这方面很糟糕)。谢谢-我也发现了这一点,后来发现了更多的示例飞碟代码,显示了浏览器组件在屏幕上显示glyffs,但仍然无法使用iText在PDF上呈现。我从未使用过飞碟,所以我不回答,但通常这种事情涉及到向渲染器添加字体。浏览器通常足够智能来检测它,但这些库中的大多数都不会费心去寻找合适的字体。(例如BIRT在这方面很糟糕)。谢谢-我也发现了这一点,后来发现了更多的示例飞碟代码,显示了浏览器组件在屏幕上显示glyffs,但仍然无法使用iText在PDF上呈现。