将jsp页面转换为PDF格式

时间:2013-07-16 08:17:49

标签: java pd4ml

我有一个jsp页面,其中包含带有图像的动态报告,该报告从数据库生成数据。我想在jsp页面中选择另存为PDF ,以便整个页面应以PDF格式保存。

我正在使用the PD4ML converter

我需要传递动态页面名称或URL映射的代码是:

public static void main(String[] args) {
    try {
        PdfViewerStarter jt = new PdfViewerStarter();
        jt.doConversion("http://pd4ml.com/sample.htm", "D:/pd4ml.pdf");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void doConversion(String url, String outputPath)
    throws InvalidParameterException, MalformedURLException, IOException {
    File output = new File(outputPath);
    java.io.FileOutputStream fos = new java.io.FileOutputStream(output);

    PD4ML pd4ml = new PD4ML();
    pd4ml.setHtmlWidth(userSpaceWidth);
    pd4ml.setPageSize(pd4ml.changePageOrientation(PD4Constants.A4));
    pd4ml.setPageInsetsMM(new Insets(topValue, leftValue, bottomValue, rightValue));
    pd4ml.useTTF("c:/windows/fonts", true);
    pd4ml.render(new URL(url), fos);
    fos.close();

    if (Desktop.isDesktopSupported()) {
        Desktop.getDesktop().open(output);
    } else {
        System.out.println("Awt Desktop is not supported!");
    }

    System.out.println(outputPath + "\ndone.");
}

jt.doConversion("http://pd4ml.com/sample.htm", "D:/pd4ml.pdf");语句中,我必须传递动态页面网址,而不是"http://pd4ml.com/sample.htm",如果页面转换为PDF格式,那么PDF文件的格式应该相同。

0 个答案:

没有答案