0

我正在尝试使用 itext 和 java 使用以下代码创建 PDF/A 文档:

PdfAWrite writer = PdfAWriter.getInstance(myDoc, myStream, PdfAConformanceLevel.PDF_A_1A);

但我不断收到此异常:

java.lang.NoClassDefFoundError: com/itextpdf/text/log/CounterFactory
at com.itextpdf.text.pdf.PdfAWriter.<init>(PdfAWriter.java:210)
at com.itextpdf.text.pdf.PdfAWriter.getInstance(PdfAWriter.java:86)

这是我的 pom.xml

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.3</version>
</dependency>

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-pdfa</artifactId>
    <version>5.5.3</version>
</dependency>

谁能告诉我应该怎么做才能解决这个问题?

谢谢

4

3 回答 3

3

当我在不止一个罐子里有上述课程时,我会遇到类似的例外情况。也许你应该检查你的类路径是否有重复。也许同一个库的不同版本并存。如果您使用的是 Eclipse,请查看 pom 的“依赖层次结构”视图并尝试查找重复项。

于 2014-11-06T10:23:41.793 回答
1

看起来你错过了itextpdf.jar你的类路径。下载 jar 并将其添加到您的类路径中

于 2014-11-06T10:10:28.313 回答
0

Primefaces 库的当前版本是指 iText 的旧版本。如果您尝试安装最新的 iText 发行版,您最终会遇到以下错误:

java.lang.NoClassDefFoundError: com/lowagie/text/

这是因为在最近的 iText 版本中,该包com/lowagie/text已重命名为com/itextpdf/text. 因此,在解决此问题之前,请使用建议的 iText 版本 (2.1.7) 或至少验证包结构。

这可能有用: http ://www.mastertheboss.com/jboss-web/primefaces/export-your-datatable-to-excel-and-pdf-using-primefaces?showall=&start=1

于 2016-07-01T13:10:44.587 回答