我正在寻找一种快速有效的方法来从我的网站创建pdf。 pdf将包含图像以及一些我可以作为html传递的文本。 pdf可以简单地是我传递的html的打印格式。与CutePDF类似的东西。可能吗?怎么样?请分享您的想法。
答案 0 :(得分:3)
尝试使用适用于大多数情况的wkhtmltopdf
。你必须安装这个小的exe / rpm。它使用webkit
引擎首先在html
中呈现headless browser mode
并将网页转换为pdf。安装完成后,可以通过java / php应用程序调用它。值得安装。
以下是链接:http://code.google.com/p/wkhtmltopdf/。
PS:我不适用于wkhtmltopdf
:),我在其中一个项目中尝试过其他几个像itext但是没有像这个工具一样有效。
答案 1 :(得分:2)
在我做之前一个星期真的可能。我使用java,servlet和jsp来做同样的事情。
Visit http://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html
protected void doProcess(HttpServletRequest request,
HttpServletResponse response){
response.setContentType("application/pdf;");
response.setHeader("Content-Disposition", "attachment; filename=Filenametodownload.pdf");
String reportContent = "<html><body><b>This is sample HTML</b></body></html>";
ServletOutputStream sos =null;
try {
sos = response.getOutputStream();
} catch (IOException e1) {
e1.printStackTrace();
}
String st = System.getProperty("user.dir");
// ITextRenderer is only works fine with compailed version of core-renderer.jar
//Jar available in http://wo-repository.doit.com.br/content/repositories/thirdparty/org/xhtmlrenderer/core-renderer/R8-final/
ITextRenderer renderer = new ITextRenderer();
//System.out.println(reportContent);
renderer.setDocumentFromString(reportContent);
renderer.layout();
try {
renderer.createPDF(sos);
} catch (DocumentException e) {
e.printStackTrace();
}
try {
sos.close();
session.removeAttribute("ReportContent");
} catch (IOException e) {
e.printStackTrace();
}
}
注意:包括itext.jar和core-renderer.jar
尝试这种方式,你可以做到......一切顺利......
答案 2 :(得分:0)
如果您想在服务器端进行HTML-&gt; PDF转换,并且如果您的服务器代码已经在Java或C#/ .NET中,则可以使用iText中的XMLWorker。这是一个demo-page和一些documentation(已过时,但很快就会更新)。
OTOH,如果你想在客户端进行转换,那么PDF打印机怎么样?我个人最喜欢的是PDFCreator。请注意,使用PDF打印机只是一种解决方案,而不是任何浏览您网站的用户。
答案 3 :(得分:0)
如果您不想安装WKHTMLTOPDF等工具但仍需要完整的CSS,HTML和Javascript功能,则可以使用Sprint PDF。这是一个带有大量选项的在线API。