我正在尝试使用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);
    }}


它显示:ĐihcbáchkhoaHàNi。请帮忙。

最佳答案

不显示字符,因为MS Arial Unicode不知道这些字符。您需要使用其他字体。例如:我下载了a package of Vietnames fonts from SourceForge,并用vuArial.ttf(在下载的软件包中找到)替换了代码示例中的arialuni.ttf。使用该字体时,所有字符都是可见的。

10-05 19:11