htmlworker convertir convert java html jsp itext

java - convertir - itextsharp html to pdf



Cómo convertir HTML a PDF usando iText (2)

Esta pregunta ya tiene una respuesta aquí:

import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; public class GeneratePDF { public static void main(String[] args) { try { String k = "<html><body> This is my Project </body></html>"; OutputStream file = new FileOutputStream(new File("E://Test.pdf")); Document document = new Document(); PdfWriter.getInstance(document, file); document.open(); document.add(new Paragraph(k)); document.close(); file.close(); } catch (Exception e) { e.printStackTrace(); } } }

Este es mi código para convertir HTML a PDF. Puedo convertirlo, pero en un archivo PDF se guarda como HTML completo, mientras que necesito mostrar solo texto. <html><body> This is my Project </body></html> se guarda en PDF mientras que solo debe guardar This is my Project .



Puede hacerlo con la clase HTMLWorker (en desuso) de esta manera:

import com.itextpdf.text.html.simpleparser.HTMLWorker; //... try { String k = "<html><body> This is my Project </body></html>"; OutputStream file = new FileOutputStream(new File("C://Test.pdf")); Document document = new Document(); PdfWriter.getInstance(document, file); document.open(); HTMLWorker htmlWorker = new HTMLWorker(document); htmlWorker.parse(new StringReader(k)); document.close(); file.close(); } catch (Exception e) { e.printStackTrace(); }

o usando el XMLWorker , (descargue de este jar ) usando este código:

import com.itextpdf.tool.xml.XMLWorkerHelper; //... try { String k = "<html><body> This is my Project </body></html>"; OutputStream file = new FileOutputStream(new File("C://Test.pdf")); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, file); document.open(); InputStream is = new ByteArrayInputStream(k.getBytes()); XMLWorkerHelper.getInstance().parseXHtml(writer, document, is); document.close(); file.close(); } catch (Exception e) { e.printStackTrace(); }