无法使用 iText 将越南语字符导出为 PDF



我正在尝试使用iText导出越南字符到PDF。我试着用

BaseFont bf = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

它可以正确显示一些unicode字符,例如俄语,但不能显示越南语中带有重音的字符(如:*、ã、*等)。下面是我写的类:

public class PDFMaker {
private final static String FILE = "FilePdf.pdf";
public static File fontFile = new File("fonts/arialuni.ttf");
public static void makePDF() throws IOException{
    try{    
        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream(FILE));
        BaseFont bf = BaseFont.createFont(fontFile.getAbsolutePath(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        Font font = new Font(bf,15);
        document.open();
        document.add(new Paragraph("Đại học bách khoa Hà Nội", font)); 
        document.close();
    } catch (FileNotFoundException | DocumentException e) {
        e.printStackTrace(System.out);
    }}

显示:Đi hc bách khoa h Ni。请帮助。

不显示这些字符,因为MS Arial Unicode不知道这些字符。你需要用另一种字体。例如:我从SourceForge下载了一个Vietnames字体包,并将代码示例中的arialunit .ttf替换为vaarial .ttf(在下载的包中找到)。当使用这种字体时,所有的字符都是可见的。

最新更新