아랍어, 히브리어 및 이디시어 문자를 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 작성에서 지원되지 않습니다. –