当我尝试使用DirectPrint bean打印阿拉伯字母时,我遇到了一些问题。这是一个pjc。英文字体打印得很好,但是当我想要打印阿拉伯语时,下面会显示一个例外情况:
Exception in thread "main" java.lang.RuntimeException: Not yet implemented
at org.pdfbox.pdmodel.font.PDType0Font.drawString(PDType0Font.java:75)
at org.pdfbox.pdfviewer.PageDrawer.showCharacter(PageDrawer.java:160)
at org.pdfbox.util.PDFStreamEngine.showString(PDFStreamEngine.java:409)
at org.pdfbox.util.operator.ShowTextGlyph.process(ShowTextGlyph.java:80)
at org.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:452)
at org.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:215)
at org.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:174)
at org.pdfbox.pdfviewer.PageDrawer.drawPage(PageDrawer.java:104)
at org.pdfbox.pdmodel.PDPage.print(PDPage.java:741)
at sun.print.RasterPrinterJob.printPage(RasterPrinterJob.java:1936)
at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1431)
at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1247)
at dsd.printing.DirectPrint.main(DirectPrint.java:842)
请帮助解决此问题。
答案 0 :(得分:2)
似乎阿拉伯字符未实现由您正在使用的pdfbox
库转换。
答案 1 :(得分:1)
您使用的是哪种版本的PDFBox?我从这里看到的是什么:
Exception in thread "main" java.lang.RuntimeException: Not yet implemented
at org.pdfbox.pdmodel.font.PDType0Font.drawString(PDType0Font.java:75)
它说 PDType0Font
类和 drawString
方法直接抛出'尚未实现'异常,但即如果我检查一个最新版本(即1.8.10),我可以看到实施的方法:here
如果我愿意,我会尝试更改pdfbox库的版本,然后重试。
编辑:感谢Tilman,他评论的最新版本信息:2.0已于周五发布,它应该可用于maven:mvnrepository.com/artifact /org.apache.pdfbox/pdfbox < / p>