Java Applet运行时错误java.lang.ClassNotFoundException com.itextpdf.text.DocListener

时间:2014-03-25 06:00:22

标签: java applet

我有以下代码作为应用程序正常工作。我正在将代码转换为用于Web使用的applet。我正在从主applet静态运行这个类。

代码编译没有任何错误。代码创建输出文件。但是当它尝试创建Document时会抛出运行时错误java.lang.ClassNotFoundException com.itextpdf.text.DocListener

我已将DocListener包含在导入中,即使它是不必要的。我已将所有类文件放入自签名的jar文件中。我已经拒绝了java安全性,允许自我签名的applet在提示后运行(测试环境)。小程序运行正常,直到我尝试创建PDF文档然后它生成运行时错误。

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.StringReader;
import java.io.File;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocListener;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.html.simpleparser.HTMLWorker;

public class WFRPPDFWrite {

public static void WritePDF() throws DocumentException, IOException {

    String htmltext = "<!DOCTYPE html><HTML><HEAD><TITLE>Test HTML</TITLE></HEAD><BODY></BODY></HTML>";
    System.out.println("HTML: " + htmltext);


    FileOutputStream PDFOut = null;

    try {

        System.out.println("Attempting to Write PDF");
        PDFOut = new FileOutputStream(new File("HTMLOut.pdf"));
    } catch (Exception  fio){
        fio.printStackTrace();
    }


    try {

        System.out.println("PDF Write: 2");
        Document doc = new Document();

    System.out.println("PDF Write: 3");
    PdfWriter.getInstance(doc,PDFOut);

    System.out.println("PDF Write: 4");

    doc.open();
    System.out.println("PDF Write: 6");

    HTMLWorker work = new HTMLWorker(doc);
    System.out.println("PDF Write: 7");
    work.parse(new StringReader(htmltext));
    System.out.println("PDF Write: 8");

    doc.close();

    } catch(Exception doce) {
        doce.printStackTrace();
    }


    System.out.println("PDF Write: 9");

    PDFOut.close();
}
}

1 个答案:

答案 0 :(得分:0)

您需要将额外的jar(itextpdf.jar)附加到applet标记中的存档属性,如上例所示:

<applet ... archive="yourApplet.jar,itextpdf.jar,otherjar.jar" />