我正在學習如何使用java代碼生成pdf,但似乎我無法理解爲什麼會出現此錯誤。iText 7.0.2目標錯誤
PdfWriter writer = new PdfWriter(new FileOutputStream("D:/t.pdf"));
PdfDocument pdf = new PdfDocument(writer);
Document doc = new Document(pdf);
doc.add(new Paragraph("Hello World!"));
doc.close();
當我嘗試聲明一個目標文件夾來輸出PDF文件時,它不斷向我顯示如下所示的錯誤。我不確定它爲什麼這樣做。請爲我提供一些關於如何解決此問題的指導。我試圖也不使用FileOutputStream,只是使用字符串位置,但它顯示相同的錯誤。
wait.Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at com.itextpdf.io.font.FontRegisterProvider.(FontRegisterProvider.java:65) at com.itextpdf.io.font.FontProgramFactory.(FontProgramFactory.java:61) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:215) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:201) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:143) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:92) at com.itextpdf.layout.RootElement.getDefaultProperty(RootElement.java:180) at com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:289) at com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:282) at com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:282) at com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:282) at com.itextpdf.layout.renderer.TextRenderer.resolveFonts(TextRenderer.java:1045) at com.itextpdf.layout.renderer.LineRenderer.resolveChildrenFonts(LineRenderer.java:706) at com.itextpdf.layout.renderer.LineRenderer.layout(LineRenderer.java:94) at com.itextpdf.layout.renderer.ParagraphRenderer.layout(ParagraphRenderer.java:171) at com.itextpdf.layout.renderer.RootRenderer.addChild(RootRenderer.java:111) at com.itextpdf.layout.RootElement.add(RootElement.java:108) at com.itextpdf.layout.Document.add(Document.java:143) at report.GenerateReport.GeneratePDF(GenerateReport.java:136) at report.GenerateReport.main(GenerateReport.java:87) Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 20 more
要添加到mkl的答案:你使用Maven還是Gradle?因爲如果你這樣做,所有需要的罐子都會自動添加。 –
非常感謝!加入slf4j-api和簡單的jar文件後問題解決了。 – Bocky