2009-05-05 12 views
1

J'utilise iText pour .NET pour convertir du HTML en PDF.
J'utilise HtmlParser pour convertir une page HTML en PDF, mais le problème est que Htmlparser semble seulement convertir la première ligne en pdf toutes les autres lignes du fichier HTML ne sont pas converties en PDF.HTMLParser convertit uniquement la première ligne du fichier

Voici le code

Document document = new Document(); 
     final = new Document(); 

     StreamWriter writer = new StreamWriter("fck.txt"); 
     writer.WriteLine(FCKeditor1.Value); 
     writer.Close(); 
     // Changing the extension of txt file to html file 
     File.Move("C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\fck.txt", "C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\fck.html"); 
     PdfWriter writer1 = PdfWriter.GetInstance(final, new FileStream("final1.pdf", FileMode.Create)); 

     final.Open(); 
     HtmlParser.Parse(final, "fck.html"); 
     final.Close(); 
     File.Delete("C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\fck.html"); 

Alors S'il vous plaît s'il vous plaît aidez-moi Tous thank u à l'avance pour aider

Répondre

1

Oh j'ai finalement obtenu la solution Au lieu d'utiliser la classe HTMLParser j'ai maintenant utilisé classe htmlworker voici le nouveau code

ArrayList p = HTMLWorker.ParseToList(new StreamReader("fck.html"), st); 
for (int k = 0; k < p.Count; k++) 
{ 
    final.Add((IElement)p[k]); 
} 
final.Close(); 
2

J'utilise

StreamReader tempReader = new StreamReader(tempFile); 

     ArrayList p = HTMLWorker.ParseToList(tempReader,st); 

     for (int k = 0; k < p.Count; k++) 
     { 
      documento.Add((IElement)p[k]); 
     } 

     tempReader.Dispose(); 
     documento.Close(); 

et fonctionne bien aussi. mais je mets le Éliminez à la fin

0

Erreur 1 Impossible de convertir implicitement le type 'System.Collections.Generic.List' à 'System.Collections.ArrayList'

Utilisez comme ceci:

List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile),new StyleSheet()); 
       foreach (IElement element in htmlarraylist) 
       { 
        document.Add(element); 
       }