iTextSharp无法将所有HTML转换为PDF

时间:2015-03-08 04:26:22

标签: c# html .net pdf itextsharp

使用here中的示例代码,我想出了这些代码 -

var my_html = this.GetmyReportHtml();
    var my_css = this.GetmyReportHtmlCss();

    Byte[] bytes;

    using (var ms = new MemoryStream())
    {
        using (var doc = new iTextSharp.text.Document(PageSize.LETTER))
        {
            using (var writer = PdfWriter.GetInstance(doc, ms))
            {
                doc.Open();

                try
                {
                    using (var msCss = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(my_css)))
                    {
                        using (var msHtml = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(my_html)))
                        {
                            iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msHtml, msCss);
                        }
                    }
                }
                catch (Exception ex)
                {

                }
                finally
                {
                    doc.Close();
                }
            }
        }

        bytes = ms.ToArray();
    }

    System.IO.File.WriteAllBytes(@"c:\\temp\test.pdf", bytes);

已生成PDF。但是my_html在我的情况下有6页,只有一半的内容被转换为pdf。

有谁知道这里发生了什么?如何知道iTextSharp.tool.xml.XMLWorkerHelper.GetInstance()。ParseXHtml是否正常工作?

谢谢

1 个答案:

答案 0 :(得分:0)

发现问题所在。在这行代码中 -

using (var doc = new iTextSharp.text.Document(PageSize.LETTER))

PageSize.LETTER无法传入。