我有以下测试代码
Font arabic = FontFactory.getFont("C:\\Windows\\Fonts\\simpo.ttf",BaseFont.IDENTITY_H,16);
try {
Document d=new Document();
PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream("C:\\Users\\Sana'a\\Downloads\\test.pdf"));
d.open();
PdfPTable table = new PdfPTable(1);
table.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
PdfPCell cell= new PdfPCell();
cell.setBorder(Rectangle.NO_BORDER);
Paragraph p= new Paragraph(jTextField1.getText(),arabic);
Paragraph p2= new Paragraph("سناء علاء حسين",arabic);
p.setAlignment(PdfPCell.ALIGN_LEFT);
p2.setAlignment(PdfPCell.ALIGN_LEFT);
cell.addElement(p);
cell.addElement(p2);
table.addCell(cell);
d.add(table);
d.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
将一些文本打印到PDF文件,但PDF显示一些丢失的字母。 例如: 当我在jtext中写(بيداءعبدالله)时,PDF显示
بياء عب الله
和(سناءعلاءحسين)成为
سناء علاء حسي
请解决任何问题。