Select Page

En ocasiones nos puede ser util poder convertir un html a PDF, para ellos utilizaremos dos librerias:

– core-renderer.jar
– itext-paulo-155.jar

Pincha aqui para descargar las librerias

El codigo es el siguiente:

import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;

public byte[] createPDF() throws Exception {
	ITextRenderer renderer = new ITextRenderer();

	ByteArrayOutputStream os = new ByteArrayOutputStream();
	renderer.setDocument(generateDocument(htmlString, null);
	renderer.layout();
	renderer.createPDF(os);
	byte[] arrayBytes = os.toByteArray());

	os.flush();
	os.close();
	return arrayBytes ;
}

private Document generateDocument(String template) throws ParserConfigurationException, SAXException, IOException {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(false);
        factory.setValidating(false);
        factory.setFeature("http://xml.org/sax/features/namespaces", false);
        factory.setFeature("http://xml.org/sax/features/validation", false);
        factory.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar",
                       false);
        factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",
                       false);
        DocumentBuilder builder = factory.newDocumentBuilder();
        return builder.parse(IOUtils.toInputStream(template, "UTF-8"));
}