2013-07-24 22 views
16
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(); 
     } 
    } 
} 

Questo è il mio codice per convertire HTML in PDF. Sono in grado di convertirlo ma nel file PDF salva tutto l'HTML mentre ho bisogno di visualizzare solo il testo. <html><body> This is my Project </body></html> viene salvato in PDF mentre dovrebbe salvare solo This is my Project.Come convertire HTML in PDF utilizzando iText

+0

provare questo http://stackoverflow.com/questions/4712641/java-how-to-convert-a-html -content-to-pdf-senza-perdere-la-formattazione – pratZ

+0

Ho bisogno di convertire In java –

+0

[API Apache open office] (http://wiki.openoffice.org/wiki/API/Tutorials/PDF_export#How_to_use_it_from_Java) –

risposta

39

Si può fare con la classe HTMLWorker (deprecata) come questa:

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 utilizzando il XMLWorker, (scaricabile dal this jar) utilizzando questo codice:

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(); 
} 
+1

Ma classe Html Worker non funziona il suo deprecato, quindi puoi dirmi quale file jar è necessario per Html Workerclass? –

+0

vedere il mio aggiornamento sulle importazioni – MaVRoSCy

+0

Ma ancora Questo è il mio progetto questa visualizzazione in formato Pdf, mentre ho bisogno di visualizzare solo questo mio progetto solo testo interno di html –

1

Questi collegamenti potrebbero essere utili per la conversione.

https://code.google.com/p/flying-saucer/

https://today.java.net/pub/a/today/2007/06/26/generating-pdfs-with-flying-saucer-and-itext.html

Se si tratta di un progetto di università, si può anche andare per questi, http://pd4ml.com/examples.htm

esempio è dato per convertire HTML a PDF

+0

quale file jar dobbiamo aggiungere in My Project? –

+0

Otterrai questo aiuto nel collegamento stesso, vai comunque a questo link, copia zip, ottieni jar, metti in buildpath: https://code.google.com/p/flying-saucer/downloads/list – Jayesh