我尝试过 iText、PDFBox 和 Oracle 表单。在 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();
}
}
编辑1:
也许图像没有显示出来。它在这里上传。
编辑2:
第 1 步)我输入一个古吉拉特语字符串 Google Transliterate。
步骤 2)我使用 BableMap 软件将其转换为 unicode,以便使用 Resourse Bundle 使用它。
问题:让我有一个字符串:બિલાડી (Biladi)
它的 unicode 将是: \u0AAC \u0ABF \u0AB2\u0ABE\u0AA1\u0AC0
检查上面的粗体 Unicode 字符。这就是我遇到问题的地方。现在,如果我将此 unicode 更改为\u0ABF \u0AAC\u0AB2\u0ABE\u0AA1\u0AC0 ,它会以 PDF 格式打印正确的输出。
同时它在 HTML 中打印错误的输出,即:િબલાડી
我必须在他们之间进行管理。
我尝试过使用“gu”和“gu.UTF-8”和“UTF-8”。但是,每次我得到相同的输出。