pdfbox:java.lang.NumberFormatException:对于输入字符串:“1#1”

pdfbox : java.lang.NumberFormatException: For input string: "1#1"

我正在使用 apache pdfbox 2.0.21。

当我尝试执行下面的代码时,它抛出了数字格式异常之类的错误。

Exception in thread "main" java.lang.NumberFormatException: For input string: "1#1"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.parseInt(Integer.java:615)
    at org.apache.pdfbox.multipdf.PDFMergerUtility.acroFormLegacyMode(PDFMergerUtility.java:1367)
    at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeAcroForm(PDFMergerUtility.java:1176)
    at org.apache.pdfbox.multipdf.PDFMergerUtility.appendDocument(PDFMergerUtility.java:575)
    at org.apache.pdfbox.multipdf.PDFMergerUtility.legacyMergeDocuments(PDFMergerUtility.java:459)
    at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:346)
    at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:330)

代码:

      try {
            PDFMergerUtility merger = new PDFMergerUtility();
            Path mergedTempFile = Files.createTempFile("merge_", ".pdf");

            merger.setDestinationFileName(mergedTempFile.toString());

            System.err.println(mergedTempFile.toFile());

            String[] fileArray = { 
                    "D://test//34026-15BN-011-34B.pdf",
                    "D://test//34026-15BN-011-34B comment.pdf"
            };

            List<File> files = new ArrayList<>();
            for (String name : fileArray) {
                files.add(new File(name));
            }

            for (File file : files) {
                merger.addSource(file);
            }

            merger.mergeDocuments(null);   //On this line it throws error

            System.out.println("Merging Completed...");
        } catch (IOException e) {
            e.printStackTrace();
        }

发布了另一个相关问题,但没有帮助。 PDFBOX : java.lang.NumberFormatException:

请帮我解决这个问题。

这是一个错误(因为“dummyFieldName”在合并时用作重复字段的前缀,并且预期数字作为后缀)在 PDFBOX-5257 and will be fixed in the 2.0.25 release, coming within the next 3 months. Until then, get a snapshot 中跟踪,其中包括错误修复。

或者,使用 setPartialName().

重命名字段,使其不包含“dummyFieldName”