2009-05-05 13 views
1

Ich verwende iText für .NET zum Konvertieren von HTML in PDF.
Ich benutze HtmlParser, um eine HTML-Seite in PDF zu konvertieren, aber das Problem ist, dass Htmlparser scheint nur die erste Zeile in PDF zu konvertieren alle anderen Zeilen aus der HTML-Datei werden nicht in PDF konvertiert. HierHTMLParser konvertiert nur die erste Zeile der Datei

ist der 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"); 

So Bitte helfen Sie mir bitte Jede u im Voraus danke für die Unterstützung

Antwort

1

Oh, ich habe endlich die Lösung Anstelle der Verwendung von HTMLParser Klasse i jetzt htmlworker Klasse verwendet haben hier ist der neue 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

ich benutze

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

und funktioniert auch gut. aber ich habe die dispose am Ende

0

Fehler 1 kann nicht implizit Typ umwandeln 'System.Collections.Generic.List' zu 'System.Collections.ArrayList'

Verwenden Sie es wie folgt aus:

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