Я хочу создать отчет на арабском языке с помощью PDFBox. Я видел другое решение для stackoverflow, но пока не могу решить проблему. арабское слово пришло как символ в обратном порядке, как исправить его, если у вас есть какой-либо пример, пожалуйста, помогите мне вот мой код.Как отобразить арабский текст в PDFBox
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String relativeWebPath = "/font/arial.ttf";
String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath);
File file = new File(absoluteDiskPath);
System.out.print(file);
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();
PDFTextStripper textStripper = new PDFTextStripper();
String Text = textStripper.getText(document);
System.out.print(Text);
document.save(output);
document.close();
response.setContentType("application/pdf;base64,BASE_64_ENCODED_PDF");
response.addHeader("Content-Disposition", "inline; filename=\"TestReport.pdf\"");
response.getCharacterEncoding();
response.getOutputStream().write(output.toByteArray());
}
У меня есть icu4j-49_1.jar и icu4j-charset-49_1.jar, он показывает его как отдельный отпечатанный символ, как ا ب не как одно слово النص العربي. –
Нет, он не использует icu4j в версии 2.0. https://issues.apache.org/jira/browse/PDFBOX-2118 –