0

好吧,我的数据库中有一些记录,其中一个有一个字符 Đ wich 是克罗地亚语。

数据库中的记录是正确的,当我在JSF/Primefaces角色的网格中显示它时,它会完美显示。

但是,当我在PDF使用iText时打印它时Đ丢失了。

我翻阅了很多手册,包括“iText in Action 2nd edition”,并尝试了每一个技巧,但没有任何效果。

手册说如果你把 writer.getAcroForm().setNeedAppearances(true); 系统将尝试渲染角色的“图像”,但它不起作用。

到目前为止,我正在尝试另一种方法,我下载了一个克罗地亚语 ttf 文件,这是我目前的状态

 BaseFont CROACIA  =BaseFont.createFont("C:\\CroatiaHrvatska.ttf",BaseFont.WINANSI, BaseFont.EMBEDDED);
CROATA =  new Font(CROACIA, 12);

Document documento = new Document();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

            PdfWriter writer = PdfWriter.getInstance(documento, baos);


            writer.setInitialLeading(20);


            documento.open();



                String frase ="Đaniel";
                documento.add(new Paragraph(frase, CROATA));

然后我关闭文档并将其下载为PDF,它可以工作,但Đ仍然消失了(大部分文本也是如此)。

我尝试使用ISO-8859-1UTF-8作为一些人在 SO 的其他问题中建议的字符,但它不起作用。

4

0 回答 0