There is no Java code available to create a PDF file from an HTML file, and it would be quite a task to write one (essentially you'd be duplicating an HTML renderer, only that it doesn't draw on the screen but creates PDF).
If your HTML originates from XML, you might have a chance to use FOP for this. If the HTML is generated directly by Java code, you could use iText to create both the HTML and the PDF. Both methods have drawbacks, though, and can't be used if the HTML is generated by JSP. (Links to FOP and iText are here.) [ December 06, 2006: Message edited by: Ulf Dittmer ]
Hi , You can download this jar file (search in google) or you may get it on ibm site.
This is the sample code which will help to create PDF file. Apply your logic to make a design inside code document.add();Implement this in your action.
///Sample Code Document document = new Document(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(document, baos); document.open(); BaseFont bf; Font font; //bf = // BaseFont.createFont("c:/windows/fonts/msgothic.ttc,0",BaseFont.IDENTITY_H,BaseFont.EMBEDDED); bf = BaseFont.createFont(path, BaseFont.IDENTITY_H,BaseFont.EMBEDDED); font = new Font(bf, 12); document.add(new Paragraph("Your text may be html also ..", font));
document.close(); response.setContentType("application/pdf"); response.setContentLength(baos.size()); ServletOutputStream out = response.getOutputStream(); baos.writeTo(out); out.flush();
Hope this will help you. Regards Ashish Tahasildar