2013-07-24 17 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(); 
     } 
    } 
} 

To jest mój kod do konwersji HTML na PDF. Potrafię go przekonwertować, ale w pliku PDF zapisuje się jako cały HTML, podczas gdy muszę wyświetlać tylko tekst. <html><body> This is my Project </body></html> zostaje zapisany do pliku PDF, a powinien zapisać tylko This is my Project.Jak przekonwertować HTML na PDF za pomocą iText

+0

spróbować tej http://stackoverflow.com/questions/4712641/java-how-to-convert-a-html -content-do-pdf-bez-utraty-formatowania – pratZ

+0

Potrzebuję przekonwertować w java –

+0

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

Odpowiedz

39

Można to zrobić z klasą HTMLWorker (przestarzałe) jak poniżej:

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

lub używając XMLWorker (pobieranie z this jar) przy użyciu tego kodu:

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

Ale klasa robotnicza Html nie działa jego przestarzałe, więc możesz mi powiedzieć, który plik jar potrzebujemy do Html Workerclass? –

+0

zobaczyć moją aktualizacji importu – MaVRoSCy

+0

Ale nadal To jest mój projekt to wyświetlanie w formacie PDF, a ja potrzebuję tylko ten mój projekt tylko wewnętrzny tekst html –

1

Ten link może być pomocne do konwersji.

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

Jeśli jest to projekt uczelni, można nawet iść do nich, http://pd4ml.com/examples.htm

Przykład podany jest do konwersji HTML do PDF

+0

jaki plik jar musimy dodać w Moim projekcie? –

+0

Dostaniesz to pomoc w linku sama, nadal są na ten link, skopiuj zip, dostać słoik, umieścić w buildpath: https://code.google.com/p/flying-saucer/downloads/list – Jayesh

Powiązane problemy