アラビア語、ヘブライ語、イディッシュ語の一部をPDFで記述しようとしていますが、逆の順序で記述されています。私はPDFBox 2.0.5を使用して、PDF文書を作成して書き込みます。PDFBox 2.0.5では、ヘブライ語、アラビア語、イディッシュ語の逆順で書かれています。
私のサンプルコード
String relativeWebPath = "/font/arial.ttf";
String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath);
File file = new File(absoluteDiskPath);
ByteArrayOutputStream output=new ByteArrayOutputStream();
PDDocument document=new PDDocument();
PDFont font = PDType0Font.load(document, new File(absoluteDiskPath));
PDPage test=new PDPage();
document.addPage(test);
PDPageContentStream content=new PDPageContentStream(document, test);
final String EXAMPLE = "النص العربي";
System.out.print(EXAMPLE);
content.beginText();
content.newLineAtOffset(50, 680);
content.setFont(font, 12);
content.showText(EXAMPLE);
System.out.print(EXAMPLE);
content.endText();
content.close();
document.save(output);
document.close();
解決のために研究している間、私はそれがプロジェクトにICU4Jライブラリを追加することによって処理されるが、それは私の作品ともICU4J依存性がPDFBox 2.0(PDFBox-2118)から削除されていないことがわかりました。
RTL言語と複雑なスクリプトは、悲しいことにPDF作成ではサポートされていません。 –