Convert HTML file to PDF file using ITextSharp

限于喜欢 提交于 2019-12-04 11:48:27

问题


I'd like to accomplish the following:

Given the path name of an html file, and the desired pathname of a pdf file, convert the HTML file to PDF using ITextSharp. I've seen plenty of code samples which do close to this but not exactly what I need. I believe my solution will need to use the iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList() function but I'm having trouble getting this to work with an actual HTML file and outputting an actual PDF file.

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

is the function I'd really like to get working properly.

Thanks in advance

Edit: Here's an example I've of what I've tried:

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

Note that textBox1.Text contains the full path name of the html file I'm trying to convert to pdf and I want this to get output to "fromHTML.pdf"

Thanks!


回答1:


I had the same requirement and was diverted to this page by Google but could not find a concrete answer. But after some head hitting and trials, i have been able to successfully convert the HTML code to PDF using iTextSharp library 5.1.1. The code that i have shared here also takes care of the img tags in HTML with relative paths. iTextSharp library throws an error if your img tags do not have absolute src. You an find the code here: http://am22tech.com/s/22/Blogs/post/2011/09/28/HTML-To-PDF-using-iTextSharp.aspx

Let me know if you need more information. The code is in c#.



来源:https://stackoverflow.com/questions/4392778/convert-html-file-to-pdf-file-using-itextsharp

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