pdfbox库的PDTextField.setValue方法报错,怎么处理?


for (PDField field : acroForm.getFields()) {
                System.out.println(field.getFullyQualifiedName());
                if (field instanceof PDTextField) {
//                    field.getWidgets().get(0).setHidden(false);
                    field.setValue("123");
                    System .out.println(
                            "First Name=" + field.getValueAsString() );
//                    field.setValue(field.getFullyQualifiedName());
                }
            }

java.lang.UnsupportedOperationException
at org.apache.pdfbox.pdmodel.font.PDCIDFontType0.encode(PDCIDFontType0.java:402)
at org.apache.pdfbox.pdmodel.font.PDType0Font.encode(PDType0Font.java:411)
at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:324)
at org.apache.pdfbox.pdmodel.font.PDFont.getStringWidth(PDFont.java:353)
at org.apache.pdfbox.pdmodel.interactive.form.PlainTextFormatter.format(PlainTextFormatter.java:195)
at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.insertGeneratedAppearance(AppearanceGeneratorHelper.java:508)
at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceContent(AppearanceGeneratorHelper.java:364)
at org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.setAppearanceValue(AppearanceGeneratorHelper.java:237)
at org.apache.pdfbox.pdmodel.interactive.form.PDTextField.constructAppearances(PDTextField.java:263)
at org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:228)
at org.apache.pdfbox.pdmodel.interactive.form.PDTextField.setValue(PDTextField.java:218)
at org.vacanter.kellydoc.pdf.PDFBoxDemo.main(PDFBoxDemo.java:221)

想问下解决了吗 我也遇到同样的问题了

有解决吗

UnsupportedOperationException,不支持的操作;
参考: