0

我有一个 jsp 页面,其中包含一个带有图像的动态报告,它从数据库中生成数据。我想要 jsp 页面中的一个选项,Save as PDF以便将整个页面保存为 PDF 格式。

我正在使用PD4ML 转换器

我需要传递动态页面名称或 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"我必须传递一个动态页面 URL,而不是传递一个动态页面 URL,如果页面被转换为 PDF 格式,那么 PDF 文件应该是相同的格式。

4

0 回答 0