使用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是否正常工作?
谢谢
答案 0 :(得分:0)
发现问题所在。在这行代码中 -
using (var doc = new iTextSharp.text.Document(PageSize.LETTER))
PageSize.LETTER无法传入。