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

Posted

技术标签:

【中文标题】使用 ITextSharp 将 HTML 文件转换为 PDF 文件【英文标题】:Convert HTML file to PDF file using ITextSharp 【发布时间】:2011-05-22 12:32:56 【问题描述】:

我想完成以下工作:

给定 html 文件的路径名和所需的 pdf 文件路径名,使用 ITextSharp 将 HTML 文件转换为 PDF。我已经看到了很多代码示例,它们与此非常接近,但并不完全符合我的需要。我相信我的解决方案需要使用 iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList() 函数,但我无法让它与实际的 HTML 文件一起使用并输出实际的 PDF 文件。

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

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

提前致谢

编辑:这是我尝试过的一个示例:

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

请注意,textBox1.Text 包含我试图转换为 pdf 的 html 文件的完整路径名,我希望它能够输出到“fromHTML.pdf”

谢谢!

【问题讨论】:

你能发布一些你尝试的代码吗? repeat repeat repeat question 【参考方案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#中。

【讨论】:

以上是关于使用 ITextSharp 将 HTML 文件转换为 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 iTextSharp 将 HTML 样式(点下划线)转换为 PDF

ITextSharp HTML到PDF?

使用itextsharp xmlworker 将html转换为pdf并垂直写入文本

尝试解析 html 以进行 pdf 转换时出现 ItextSharp 错误

使用 itextsharp 将图像 html 旁边的文本放置到 pdf

iTextSharp 创建带有空白页的 PDF