C# 使用.NET的iText进行HTML到PDF转换:行大小大于页面大小
我正在尝试使用iText for.NET将HTML转换为PDF,但当我尝试转换时,会出现此屏幕截图中显示的错误: 我进行了彻底的检查,这是因为HTML表的行内容 超出了页面的大小。我如何解决这个问题 代码:C# 使用.NET的iText进行HTML到PDF转换:行大小大于页面大小,c#,asp.net,itext,C#,Asp.net,Itext,我正在尝试使用iText for.NET将HTML转换为PDF,但当我尝试转换时,会出现此屏幕截图中显示的错误: 我进行了彻底的检查,这是因为HTML表的行内容 超出了页面的大小。我如何解决这个问题 代码: 您没有共享任何代码,但屏幕截图中的错误消息显示您正在使用旧版本的iText。您应该使用iText 7来编辑。还请注意,您仍然使用iTextSharp这个名称。两年多前,该名称被放弃,取而代之的是.NET的iText。请使用当前名称而不是旧名称。此外,Response.Write(pdfDo
您没有共享任何代码,但屏幕截图中的错误消息显示您正在使用旧版本的iText。您应该使用iText 7来编辑。还请注意,您仍然使用iTextSharp这个名称。两年多前,该名称被放弃,取而代之的是.NET的iText。请使用当前名称而不是旧名称。此外,
Response.Write(pdfDoc)
将不会返回PDF,无论您使用哪个iText版本。检查用于为pdfDoc
实例化PdfWriter
的流,查看文档的写入位置。此外,请使用文本而不是屏幕截图来发布代码和堆栈跟踪。通过用4个空格缩进它们,它们将被正确格式化。我已经将代码我没有许可证添加到itext 7,如果你们能帮助我解决当前版本中的问题,如果我可以设置允许拆分行,这将解决问题,我知道这可以在pdfprow中完成,因为这是html转换,我不知道如何。。。请提供任何建议。。。
var pdfbody1 = new System.Text.StringBuilder();
pdfbody1.Append(GenerateReport());
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Work_" + lblorderNo.Text.Trim() + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
var sw = new StringWriter(pdfbody1);
var hw = new HtmlTextWriter(sw);
//divexcel.RenderControl(hw);
var sr = new StringReader(sw.ToString());
var page = new pdfPage();
var pdfDoc = new Document(PageSize.A3);
//Document pdfDoc = new Document(PageSize.A4, 80f, 80f, -2f, 35f);
var htmlparser = new HTMLWorker(pdfDoc);
var path = Server.MapPath(@"../pdf/");
var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream(path + "Work_" + lblorderNo.Text.Trim() + ".pdf", FileMode.Create));
pdfWriter.PageEvent = page;
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
// Response.End();