プロジェクトにiTextを使用しています。私のプログラムはブラウザ内から実行することになっていますが、htmlファイルをpdfファイルに変換するために必要です。NetBeansからプログラムを実行すると、すべてが正常に機能します。jarに署名し、ブラウザでアプレットを実行すると、次のエラーが発生します。
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ファイルが実際に作成されますが、破損していて開くことができません。よろしくお願いします。