使用pdfbox时未连接阿拉伯字符

时间:2015-11-02 15:21:18

标签: pdfbox

我正在尝试使用pdfbox

将阿拉伯文字插入pdf
File myFile = new File("src/arabic/arial.ttf");
PDFont font = PDType0Font.load(doc, myFile);
PDPageContentStream contentStream = new PDPageContentStream(doc, page,true,true);
contentStream.beginText();
contentStream.setFont(font, 12);
contentStream.newLineAtOffset(30, 40);
String arabicText = "عطي يونيكود رقما فريدا لكل حرف" ;
          // System.setProperty("ste.encoding", "UTF-8");
contentStream.showText(arabicText);
contentStream.endText();
contentStream.close();

阿拉伯文字在结果pdf中显示为断开连接的文字。

1 个答案:

答案 0 :(得分:1)

(这适用于PDFBox 2.0,不适用于早期版本)

你必须自己做。我不能用阿拉伯语解释它,而是用“西方”字形解释:

stream.showText("film \uFB01lm");

使用该PDF创建PDF,然后尝试在第二个单词中标记“f”或“l” - 您不能,因为它是一个实体。

第一个单词有“f”和“i”作为单独的字符,第二个单词有拉丁语小结扎fi(U + FB01)。因此,当您的字体支持这些组合时,您必须自己进行一些预处理以替换这些组合。祝你好运!