Java pdfjet android中的自定义字体

Java pdfjet android中的自定义字体,java,android,Java,Android,您好,我最近下载了他们网站上提供的pdfjet的开源版本。我提取了下载的zip,并将com\pdfjet文件夹中的java文件复制到我的MainActivity.java旁边的android studio。我尝试了两个使用一些corefonts的例子,它可以完美地工作,但当我想为文本嵌入自定义字体时,它在android studio上无法工作 我在互联网上搜索了一个解决方案,但我找到的唯一解决方案是: Font f2 = new Font(pdf, new Buffere

您好,我最近下载了他们网站上提供的pdfjet的开源版本。我提取了下载的zip,并将com\pdfjet文件夹中的java文件复制到我的MainActivity.java旁边的android studio。我尝试了两个使用一些corefonts的例子,它可以完美地工作,但当我想为文本嵌入自定义字体时,它在android studio上无法工作

我在互联网上搜索了一个解决方案,但我找到的唯一解决方案是:

Font f2 = new Font(pdf,
            new BufferedInputStream(getClass().getResourceAsStream(
                    "fonts/DroidFonts/DroidSerif-Italic.ttf")),
            CodePage.UNICODE,
            Embed.YES);
发件人:

但是android studio输出了一个错误 如图所示:

有什么可能的解决办法吗

注意:我使用的是开源版本,我想在Android应用程序中使用它
提前感谢:-)

他们确实更改了构造函数。只需删除“CodePage.UNICODE”部分


你有你的自定义字体是
assets
目录吗?是的,它在我的assets文件夹中,即使我将目录更改为:getAssets.open(cfont.ttf)它仍然不起作用。我认为错误是因为font.java没有4个输入的方法,最大值是3,如图所示。好的,我将在空项目中查看它谢谢我正在等待您的答复:-)它是否与您一起工作或输出了相同的错误?PDF文件中包含Unicode文本,这不会影响它吗?你说的是免费的还是商业的?这是免费的,但这种更新也会影响付费版本,因为他们确实改进了库以支持基于字体属性的所有编码。因此,代码页变得毫无用处。根据免费版本的sourcecode,字体构造函数中列出的大多数属性现在都被忽略了。那么这是否意味着它可以像阿拉伯语一样完美地与RTL语言配合使用呢?不完全如此。在语言支持方面仍然存在一些问题。仅阿拉伯文字体或面向阿拉伯文的字体(包含阿拉伯文作为主要字符集)可以很好地工作,但unicode字体(英语作为主要字符集)应该支持多个字符集,却不能。我能达到的最好结果是阿拉伯语+英语字母表支持。对于其他语言,我确实切换了字体(基于用户区域设置),您能给我提供一个Java文件的示例吗?因为我在免费版本中无法这样做。谢谢
protected final Font getFont(String fontName, PDF thePdf) throws Exception {

    InputStream fontStream = context.getAssets().open(TypefaceContainer.getFontPathFromName(fontName));
    Font result = new Font(thePdf, fontStream, Embed.YES);
    return result;
}