我是itext中的新手,我使用的是7.1.4版,并获得了试用许可证密钥版本3.0.0和排版版本2.0.2 .

public ByteArrayInputStream pdfReport()
        throws MalformedURLException, IOException, DocumentException, SurveyException {

    LicenseKey.loadLicenseFile("E:/licence-key.xml");

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    PdfWriter pdfWriter = new PdfWriter(outputStream);
    PdfDocument pdfDocument = new PdfDocument(pdfWriter);
    Document layoutDocument = new Document(pdfDocument, pagesize);
       /***************Some Codes***************/
        layoutDocument.close();

    return new ByteArrayInputStream(outputStream.toByteArray());
}

上面的方法在我的控制器类中调用 . 首先,如果我点击请求,则生成pdf文件,但在第二个请求中显示“406不可接受” . 错误如下所示:

java.lang.NullPointerException: null
at com.itextpdf.licensekey.validators.LicenseKey7Validator.updateProductsOnLoad(LicenseKey7Validator.java:437) ~[itext-licensekey-3.0.0.jar:na]
at com.itextpdf.licensekey.validators.LicenseKey7Validator.LoadLicense(LicenseKey7Validator.java:121) ~[itext-licensekey-3.0.0.jar:na]
at com.itextpdf.licensekey.LicenseKey.loadLicenseFileInternal(LicenseKey.java:182) ~[itext-licensekey-3.0.0.jar:na]
at com.itextpdf.licensekey.LicenseKey.loadLicenseFile(LicenseKey.java:69) ~[itext-licensekey-3.0.0.jar:na]
at com.itextpdf.licensekey.LicenseKey.loadLicenseFile(LicenseKey.java:94) ~[itext-licensekey-3.0.0.jar:na]
at com.survey.application.pdfGenerator.PdfReportGenerator.pdfReport(PdfReportGenerator.java:61) ~[classes/:na]
at com.survey.application.controller.PdfController.generateReport(PdfController.java:31) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_151]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_151]

我感到困惑,首先请求它生成但是在第二个,第三个等等它抛出异常 . 是加载许可证密钥文件的方式 . 任何建议将不胜感激 . 提前致谢 .