NoclassDefFoundError:com.itextpdf.text.Document错误将打开一个新的itext文档

时间:2013-03-18 13:10:05

标签: android eclipse itext simulation

我在模拟器Android设备上使用Eclipse,我有以下简单的代码:

File file = new File(this.getFilesDir() + "/example.pdf");
if(!file.exists())
file.createNewFile();
FileOutputStream fop = new FileOutputStream(file);
Document document = new Document();
(…)  

我做Document document = new Document(); 我收到错误:

  

Java.lang.NoClassDefFoundError:com.itextpdf.text.Document

我有这样的itext.jar:

<classpath>
<classpathentry kind="lib" path="assets/itext-pdfa-5.4.0.jar"/>
<classpathentry kind="lib" path="assets/itext-xtra-5.4.0.jar"/>
<classpathentry kind="lib" path="assets/itextpdf-5.4.0.jar"/>
<classpathentry kind="lib" path="assets/itext-pdfa-5.4.0-javadoc.jar"/>
<classpathentry kind="lib" path="assets/itext-pdfa-5.4.0-sources.jar"/>
<classpathentry kind="lib" path="assets/itext-xtra-5.4.0-javadoc.jar"/>
<classpathentry kind="lib" path="assets/itext-xtra-5.4.0-sources.jar"/>
<classpathentry kind="lib" path="assets/itextpdf-5.4.0-javadoc.jar"/>
<classpathentry kind="lib" path="assets/itextpdf-5.4.0-sources.jar"/>
</classpath>

所有这些都在“资产”的路径中。

2 个答案:

答案 0 :(得分:0)

你的错误:

Java.lang.NoClassDefFoundError: com.itextpdf.text.Document

看起来你输入了错误的Document类。

尝试此导入:

import org.w3c.dom.Document;

答案 1 :(得分:0)

如果您使用的是Android,最好使用the Android port。 此端口用于我们所有的Android演示。 与纯Java iText版本的区别在于:

  1. 不使用AWT,nio,......类别,
  2. 使用SpongyCastle代替BouncyCastle以避免知道Android上的BC问题,
  3. 删除无法在Android上运行的类。
  4. 请注意,NoClassDefFoundError不仅在找不到类时发生。在你的情况下:班级在那里:只需检查罐子。当存在歧义时,也会抛出这样的错误。例如:因为您的CLASSPATH中有两个版本的iText。如果我是你,我会删除所有对iText的引用,然后重新开始使用iText的Android端口。我很确定你的CLASSPATH中有太多的条目。