我正在为一个项目使用 iText。我的程序应该从浏览器内部运行,我需要它将 html 文件转换为 pdf 文件。当我从 NetBeans 运行程序时,一切正常。我签署了我的 jar 并在浏览器中运行 Applet,然后我收到此错误:
Errorjava.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getenv.windir")
为了这篇文章的目的,我制作了一个简单的 JApplet 代码,它有同样的问题:
public class RunApplet extends JApplet {
@Override
public void init() {
this.add(new JLabel("This is a labe"));
File f = new File("C:/ReportGen/data.html");
File pdf = new File("C:/ReportGen/data.pdf");
try {
pdf.createNewFile();
Document pdfDocument = new Document();
PdfWriter writer = PdfWriter.getInstance(pdfDocument, new FileOutputStream(pdf));
pdfDocument.open();
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
FontFactoryImp imp = new FontFactoryImp();
imp.getFont("Arial");
FontFactory.setFontImp(imp);
worker.parseXHtml(writer, pdfDocument, new FileInputStream(f));
pdfDocument.close();
writer.close();
this.add(new JLabel(f.getAbsolutePath()));
} catch (Exception ex) {
this.add(new JTextField("Error"+ex));
}
}
}
html文件已创建并且很好,但是当我创建pdf文件时出现异常并且pdf文件实际上已创建,但已损坏并且我无法打开它。在此先感谢您的时间。