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