我有一个 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 文件应该是相同的格式。