使用ITextSharp将HTML文件转换为PDF文件

Ben*_*Ben 7 html c# pdf itextsharp pdf-conversion

我想完成以下任务:

给定html文件的路径名和pdf文件的所需路径名,使用ITextSharp将HTML文件转换为PDF.我已经看到很多代码示例接近这个但不完全是我需要的.我相信我的解决方案需要使用iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList()函数,但是我无法使用它来处理实际的HTML文件并输出实际的PDF文件.

public void GeneratePDF(string htmlFileName, string outputPDFFileName)
{...}
Run Code Online (Sandbox Code Playgroud)

是我真正想要正常工作的功能.

提前致谢

编辑:以下是我尝试过的一个例子:

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();
Run Code Online (Sandbox Code Playgroud)

请注意textBox1.Text包含我正在尝试转换为pdf的html文件的完整路径名,我希望将其输出到"fromHTML.pdf"

谢谢!

小智 1

我有同样的要求,被谷歌转移到这个页面,但找不到具体的答案。但经过一番尝试和尝试后,我已经能够使用 iTextSharp 库 5.1.1 成功将 HTML 代码转换为 PDF。我在这里分享的代码还使用相对路径处理 HTML 中的 img 标签。如果您的 img 标签没有绝对 src,iTextSharp 库会抛出错误。您可以在这里找到代码: http://am22tech.com/s/22/Blogs/post/2011/09/28/HTML-To-PDF-using-iTextSharp.aspx

如果您需要更多信息,请与我们联系。代码是c#的。