org.xhtmlrenderer.util.XRRuntimeException无法加载XML资源iText PDF

时间:2011-09-04 18:10:55

标签: struts2 itext

我们有一个struts 2应用程序,我们已经实现了将网页/ JSP的内容下载/提取到PDF的功能。我们正在使用iText。 当我在我的本地Dev环境中运行应用程序时,该功能正常工作,并且在单个测试服务器上工作正常,即我正在访问时 使用单个服务器URL的应用程序。最近我们已将应用程序迁移到Test,我们已设置域URL。迁移到域URL后, 下载/提取PDF功能是抛出错误。下面给出的是Code&来自server.log的堆栈跟踪。 (仅供参考......我在JBoss 5服务器上运行应用程序。)

我迫切需要解决这个问题,请求有人帮我解决这个问题。

代码:这是在我的动作类中调用的函数 - DownloadPriceSheetAction。

private String generatePDF(HttpServletRequest request) throws Exception {
        File tempFile = File.createTempFile(ApplicationConstants.PRICE_SHEET,
            ApplicationConstants.PDF);
    OutputStream os = new FileOutputStream(tempFile);

    StringBuilder stringURLBuilder = new StringBuilder();
    stringURLBuilder.append(request.getScheme());
    stringURLBuilder.append(ApplicationConstants.PDF_COLLEN);
    stringURLBuilder.append(ApplicationConstants.PDF_DOUBLE_SLASH);
    stringURLBuilder.append(request.getServerName());
    stringURLBuilder.append(ApplicationConstants.PDF_COLLEN);
    stringURLBuilder.append(request.getServerPort());
    stringURLBuilder.append(request.getContextPath());
    stringURLBuilder.append(ApplicationConstants.PDF_SLASH);
    stringURLBuilder.append(ApplicationConstants.PDF_ACTION);
    stringURLBuilder.append(getGenerateURL());

    logger.debug("\n URL = " + stringURLBuilder.toString() + "\n");

    ITextRenderer renderer = new ITextRenderer();
    renderer.setDocument(stringURLBuilder.toString());
    renderer.layout();
    renderer.createPDF(os);
    os.close();
    fileInputStream = new FileInputStream(tempFile);
    return ApplicationConstants.PDF;
}

0 个答案:

没有答案