【问题标题】:transform html to pdf with itext and XMLWorker => exception runtime access denied使用 itext 和 XMLWorker 将 html 转换为 pdf => 异常运行时访问被拒绝
【发布时间】:2014-04-09 13:15:17
【问题描述】:

我很无聊,因为我尝试使用 XHTMLWorker 将 html 文本转换为 pdf,但失败了!

这是我的代码:

File tempDocPdf;    
com.itextpdf.text.Document docItext;

// crée un pdf vide
docItext = new com.itextpdf.text.Document(PageSize.A4);

// crée le fichier en mémoire
tempDocPdf = new File("c:/temp/",docDTO.getNomDocument() + ".pdf"); 
docDTO.setNomPdf(docDTO.getNomDocument() + ".pdf");
PdfWriter writer = PdfWriter.getInstance(docItext, new FileOutputStream(tempDocPdf));
docItext.addTitle(docDTO.getNomDocument());

// permet de spécifier si les contrôles de navigation sont affichés
writer.setViewerPreferences(PdfWriter.HideWindowUI);                

// ouverture du document pdf (pret à enregistrer des données)
docItext.open();                        

StringReader str = new StringReader("<b>Test XmlWorker</b>");
System.out.println("test 0");

XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
System.out.println("test 10");

worker.parseXHtml(writer, docItext, str); 
System.out.println("test 20");

// crée le pdf  
docItext.close();   
System.out.println("test 30");

//enregistrer dans le document:
buildDocNotes(tempDocPdf);

//suppression du fichier temporaire
tempDocPdf.delete();

我有这个例外:

 DETAIL : java.security.AccessControlException: Access denied (java.lang.RuntimePermission getenv.windir)
    at java.security.AccessController.throwACE(AccessController.java:100)
    at java.security.AccessController.checkPermission(AccessController.java:174)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:544)
    at java.lang.System.getenv(System.java:322)
    at com.itextpdf.text.FontFactoryImp.registerDirectories(FontFactoryImp.java:573)
    at com.itextpdf.tool.xml.XMLWorkerFontProvider.<init>(XMLWorkerFontProvider.java:71)
    at com.itextpdf.tool.xml.XMLWorkerFontProvider.<init>(XMLWorkerFontProvider.java:62)
    at com.itextpdf.tool.xml.pipeline.html.HtmlPipelineContext.<init>(HtmlPipelineContext.java:111)
    at com.itextpdf.tool.xml.XMLWorkerHelper.parseXHtml(XMLWorkerHelper.java:166)
    at com.pasquier.DAO.sauvLocal.PdfSauvLocalDAO.creerPdf(PdfSauvLocalDAO.java:219)
    at com.pasquier.DAO.sauvLocal.PdfSauvLocalDAO.detacher(PdfSauvLocalDAO.java:73)
    at com.pasquier.launcher.sauvLocal.SauvLocalProvider.recupInfosPdfSauvLocale(SauvLocalProvider.java:68)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at lotus.domino.axis.providers.java.RPCProvider.invokeMethod(Unknown Source)
    at lotus.domino.axis.providers.java.RPCProvider.processMessage(Unknown Source)
    at lotus.domino.axis.providers.java.JavaProvider.invoke(Unknown Source)
    at lotus.domino.axis.strategies.InvocationStrategy.visit(Unknown Source)
    at lotus.domino.axis.SimpleChain.doVisiting(Unknown Source)
    at lotus.domino.axis.SimpleChain.invoke(Unknown Source)
    at lotus.domino.axis.handlers.soap.SOAPService.invoke(Unknown Source)
    at lotus.domino.axis.server.AxisServer.invoke(Unknown Source)
    at lotus.domino.ws.AxisHandler.doPost(Unknown Source)
    at lotus.domino.ws.AxisHandler.invoke(Unknown Source)
    at lotus.domino.WebServiceHelper.runHandler(Unknown Source)
    at lotus.domino.WebServiceHelper.Run(Unknown Source)
    at lotus.domino.WebServiceBase.NotesMain(Unknown Source)
    at lotus.domino.AgentBase.runNotes(Unknown Source)
    at lotus.domino.NotesThread.run(Unknown Source)

我尝试开始解决方案: 问题在于环境变量windir 所以我尝试授予访问此变量的权限,一个想法?

【问题讨论】:

    标签: pdf itext xmlworker


    【解决方案1】:

    我发现:我在 java.policy 中添加了对服务器的授予权限 见http://www-10.lotus.com/ldd/nd85forum.nsf/DateAllFlatWeb/d628323139e3020685257920004a5ccb?OpenDocument

    grant {
     permission java.security.AllPermission;
     };
    

    【讨论】:

      猜你喜欢
      • 2013-09-24
      • 2016-12-30
      • 2015-05-20
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 2012-05-19
      • 2014-11-19
      相关资源
      最近更新 更多