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