2010-12-08 33 views
6

je voudrais accomplir ce qui suit:Convertir un fichier HTML vers un fichier PDF à l'aide iTextSharp

Étant donné le nom de chemin d'un fichier html et le chemin souhaité d'un fichier pdf, convertir le fichier HTML au format PDF à l'aide iTextSharp . J'ai vu beaucoup d'échantillons de code qui sont proches mais pas exactement ce dont j'ai besoin. Je crois que ma solution devra utiliser la fonction iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList() mais j'ai du mal à faire fonctionner cela avec un vrai fichier HTML et à sortir un vrai fichier PDF.

public void GeneratePDF(string htmlFileName, string outputPDFFileName) 
{...} 

est la fonction que j'aimerais vraiment travailler correctement.

Merci à l'avance

Modifier: Voici un exemple que j'ai ce que j'ai essayé:

iTextSharp.text.Document doc = new Document(); 
     PdfWriter.GetInstance(doc, new FileStream(Path.GetFullPath("fromHTML.pdf"), FileMode.Create)); 

     doc.Open(); 

     try 
     { 
      List<IElement> list = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StringReader(File.ReadAllText(this.textBox1.Text)), null); 
      foreach (IElement elm in list) 
      { 
       doc.Add(elm); 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

     doc.Close(); 

Notez que textBox1.Text contient le nom de chemin complet du fichier html I Je suis en train de convertir en pdf et je veux que cela se traduise par "fromHTML.pdf"

Merci!

+0

pouvez-vous poster du code de votre tentative? – Simon

+3

[répéter répéter répéter question] (http://stackoverflow.com/search?q=itextsharp+convert+html) –

Répondre

2

J'avais la même exigence et j'ai été redirigé vers cette page par Google mais je n'ai pas trouvé de réponse concrète. Mais après quelques coups de tête et d'essais, j'ai réussi à convertir le code HTML en PDF en utilisant la bibliothèque iTextSharp 5.1.1. Le code que j'ai partagé ici prend également en charge les balises img en HTML avec des chemins relatifs. La bibliothèque iTextSharp renvoie une erreur si vos balises img n'ont pas de src absolue. Vous trouvez le code ici: http://am22tech.com/s/22/Blogs/post/2011/09/28/HTML-To-PDF-using-iTextSharp.aspx

Faites-moi savoir si vous avez besoin de plus d'informations. Le code est en C#.