gpt4 book ai didi

pdf - Grails/RenderPdf阿拉伯字符

转载 作者:行者123 更新时间:2023-12-02 14:55:36 24 4
gpt4 key购买 nike

我们有一个grails应用程序,其中我们使用Render Plugin在.pdf中呈现内容。所有这些对于英语来说都可以正常工作,但是不幸的是对于阿拉伯语(我们必须渲染),所有字符似乎都是“残破的”。一些数字和空格...

渲染插件使用IText,并且我尝试了以下方法:

...  
def renderer = new ITextRenderer()
FontResolver resolver = renderer.getFontResolver()
renderer.getFontResolver().addFont("/usr/share/fonts/truetype/ttf-arabeyes/ae_AlArabiya.ttf", BaseFont.EMBEDDED)
...

(这里使用的字体只是一个示例),但是在任何情况下,它都不起作用。

任何人有这种问题的经验吗?

先感谢您!

最佳答案

renderer.getFontResolver.addFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED_SUBSET);

iText中字体的默认编码为WinAnsiEncoding,即AKA代码页1252。您需要指定一种包含所需字符的编码...

是的Google代码为您使用的addFont生成了以下代码:
public void addFont(String path, boolean embedded)
throws DocumentException, IOException {
addFont(path, BaseFont.CP1252, embedded);
}

IDENTITY_H使您可以处理给定字体中的所有字形。我总是推荐它,尽管有一个小缺点。使用IDENTITY_H会强制字体成为iText中的嵌入式子集,而无法绕开它。

关于pdf - Grails/RenderPdf阿拉伯字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com