Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用.NET的iText进行HTML到PDF转换:行大小大于页面大小_C#_Asp.net_Itext - Fatal编程技术网

C# 使用.NET的iText进行HTML到PDF转换:行大小大于页面大小

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 for.NET将HTML转换为PDF,但当我尝试转换时,会出现此屏幕截图中显示的错误:

我进行了彻底的检查,这是因为HTML表的行内容 超出了页面的大小。我如何解决这个问题

代码:


您没有共享任何代码,但屏幕截图中的错误消息显示您正在使用旧版本的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();