我尝试过 iText、PDFBox 和 Oracle Forms。我还成功地使用 iText 生成了古吉拉特语 PDF 文档。但是,不幸的是它没有生成古吉拉特语 (UTF-8) 语言的正确字体。
我的项目是 jdk 1.4 & 这是强制使用的。所以,我需要支持古吉拉特语字体的旧版本 API。
请建议是否有可用的选项。
示例代码:
public void GeneratePDFusingiText(String lStrGujaratidata)
{
try
{
BaseFont bf = BaseFont.createFont("C:\\Windows\\Fonts\\Shruti.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font font = new Font(bf, 12);
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("D:/GeneratePDFusingiText.pdf"));
document.open();
document.add(new Paragraph(lStrGujaratidata, font));
document.close();
}
catch(Exception e)
{
System.out.println("Exception while generating PDF");
e.printStackTrace();
}
}
EDIT 1:
也许图像没有被显示。已上传here.
EDIT 2:
Step-1)我输入古吉拉特语字符串谷歌音译。
Step-2)我使用 BableMap Software 将其转换为 unicode,以便使用 Resource Bundle 来使用它。
Issue:让我有一个字符串:બિલાડી(比拉迪)
它的 unicode 将是:\u0AAC\u0ABF\u0AB2\u0ABE\u0AA1\u0AC0
检查上面的粗体 Unicode 字符。这就是我遇到问题的地方。现在如果我将这个 unicode 更改为\u0ABF\u0AAC\u0AB2\u0ABE\u0AA1\u0AC0 ,它以 PDF 格式打印正确的输出。
同时它在 HTML 中打印错误的输出,即:િબલાડી
我必须在他们之间进行管理。
我尝试过使用“gu”和“gu.UTF-8”和“UTF-8”。但是,每次我都会得到相同的输出。