2016-06-27 8 views
0

Я хочу создать отчет на арабском языке с помощью 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()); 



} 

ответ

0

Для поддержки двунаправленных языков, таких как арабский. PDFBox использует библиотеку ICU4J из проекта International Components for Unicode (ICU) для поддержки таких языков в документах PDF. Вам нужно добавить банку ICU4J в свой проект.

+0

У меня есть icu4j-49_1.jar и icu4j-charset-49_1.jar, он показывает его как отдельный отпечатанный символ, как ا ب не как одно слово النص العربي. –

+1

Нет, он не использует icu4j в версии 2.0. https://issues.apache.org/jira/browse/PDFBOX-2118 –

 Смежные вопросы

  • Нет связанных вопросов^_^