【问题标题】:iTextG PDF generator won't render Persian charactersiTextG PDF 生成器不会呈现波斯字符
【发布时间】:2014-10-22 15:19:36
【问题描述】:

我正在使用iTextG 5.5.3 生成波斯语pdf 文件。所以我使用了以下代码:

Document document = new Document(PageSize.A4);

PdfWriter.getInstance(document, pdfFileOutputStream);
document.open();

Paragraph p1 = new Paragraph("سلام این متن برای تست است.");
BaseFont farsiFont = BaseFont.createFont("assets/fonts/BMitra.ttf", "UTF-8", BaseFont.EMBEDDED);
Font paraFont= new Font(farsiFont);
p1.setAlignment(Paragraph.ALIGN_CENTER);
p1.setFont(paraFont);

PdfPTable table = new PdfPTable(1);
PdfPCell cell = new PdfPCell(p1);
cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
table.addCell(cell);

document.add(table);
document.close();

但是波斯语字符没有写入输出文件。我还阅读了this answer

【问题讨论】:

    标签: android pdf itext


    【解决方案1】:

    使用this answer 我将代码更改为:

    Paragraph p1 = new Paragraph();
    BaseFont farsiFont = BaseFont.createFont("assets/fonts/BMitra.ttf", "UTF-8", BaseFont.EMBEDDED);
    Font paraFont= new Font(farsiFont);
    p1.setAlignment(Paragraph.ALIGN_CENTER);
    p1.setFont(paraFont);
    p1.add("سلام این متن برای تست است.");
    

    而且它有效。

    【讨论】:

      猜你喜欢
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 2019-01-28
      • 2014-10-18
      相关资源
      最近更新 更多