【问题标题】:Blank 1st page when converting HTML to PDF using nreco.generated使用 nreco.generated 将 HTML 转换为 PDF 时第一页空白
【发布时间】:2019-11-17 01:22:31
【问题描述】:

Nreco 成功地将我的 html 代码转换为 pdf,但它在 pdf 的第一页创建了空白页,其中 A4 页面大小为 5,字母大小为 104。

我搜索了这个问题并测试了以下所有样式但不起作用。

page-break-before:avoid;
page-break-after:avoid;
page-break-inside :avoid;



Dim sw As New StringWriter()
Dim htw As New HtmlTextWriter(sw)
Panel1.RenderControl(htw)
Dim Converter As HtmlToPdfConverter = New HtmlToPdfConverter()
Dim htmlContent As String = sw.ToString()
Dim pdf As Byte() = Converter.GeneratePdf(sw.ToString(),PdfSharp.PageSize.Letter)
Response.Charset = "utf-8"
Response.ContentEncoding = System.Text.Encoding.UTF8
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment;filename=" + "test.pdf")
Response.Buffer = True
Response.BinaryWrite(pdf)
Response.Flush()
Response.Clear()
Response.End()

【问题讨论】:

    标签: c# html asp.net vb.net web-site-project


    【解决方案1】:

    如果你使用 NReco.PdfGenerator nuget 包,那么下面这行是错误的:

    Dim pdf As Byte() = Converter.GeneratePdf(sw.ToString(),PdfSharp.PageSize.Letter)
    

    因为 this overload of GeneratePdf method 需要 2 个参数:第一个字符串是主要 HTML 内容(必需),第二个字符串用于“封面”页面(第一页的特殊内容),这是可选的(可以为空)。

    要设置输出页面大小,您可以设置HtmlToPdfConverter.Size property:

    Converter.Size = PageSize.Letter;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2016-04-15
      • 2022-11-04
      相关资源
      最近更新 更多