当使用PdfBox在一台机器上获取欧元符号时,我在NumberFormat 2.0.20 (+Boxable1.5)中遇到了一个奇怪的错误。不过,在其他机器上,它的工作没有任何问题。
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(Locale.GERMANY);
BaseTable table = new BaseTable(...);
Row<PDPage> row = table.createRow(10f);
row.createCell(20, currencyFormatter.format(9.99));
float rowHeight = row.getHeight();这在3+机器上工作了两年多了。在一台新的pc上,当访问高度时,最后一行出现了一个错误:
java.lang.IllegalArgumentException: U+00A0 ('nbspace')在Helvetica编码: WinAnsiEncoding中不可用
错误信息对我来说很奇怪。我没有使用U+00A0符号,我认为这个问题与欧元符号有关。当我在新的pc上使用Locale.US时,它使用$,错误就消失了。不过,我希望能够使用德国货币。
发布于 2020-10-08 08:27:38
将pdfBox更新为2.0.22解决了这个问题。
https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox/2.0.22
https://stackoverflow.com/questions/62401066
复制相似问题