HTMLParser only converts the first line of the file

此生再无相见时 提交于 2019-12-19 10:06:58

问题


I am using iText for .NET for converting HTML to PDF.
I'm using HtmlParser to convert an HTML page to PDF, but the problem is that Htmlparser only seems to convert the first line to pdf all other lines from the HTML file are not converted to PDF.

Here is the 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 Please please help me Any thank u in advance for helping


回答1:


I use

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

and works fine too. but i put the dispose at the end




回答2:


Oh i finally got the solution Instead of using htmlparser class i have now used htmlworker class here is the new 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();



回答3:


Error 1 Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Collections.ArrayList'

Use it like this:

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


来源:https://stackoverflow.com/questions/824265/htmlparser-only-converts-the-first-line-of-the-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!