简体   繁体   English

使用nreco.genic将HTML转换为PDF时第一页空白

[英]Blank 1st page when converting HTML to PDF using nreco.generated

Nreco converted my html code to pdf successfully but It created blank page at first page of pdf with number 5 for A4 page size and 104 for letter size. Nreco将我的html代码成功转换为pdf,但是它在pdf的第一页上创建了空白页,其中A4页面大小为5,字母大小为104。

I searched about this problem and test all below style but do not work. 我搜索了此问题,并测试了以下所有样式,但均不起作用。

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()

If you use NReco.PdfGenerator nuget package then the following line is wrong: 如果您使用NReco.PdfGenerator nuget包,则以下行是错误的:

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

because t his overload of GeneratePdf method expects 2 arguments: first string one is main HTML content (required) and second string is for 'cover' page (special content for the first page) which is optional (can be null). 因为他的GeneratePdf方法的重载需要2个参数:第一个字符串是主要HTML内容(必需),第二个字符串用于“ cover”页面(第一页的特殊内容),这是可选的(可以为null)。

To set output page size you can set HtmlToPdfConverter.Size property : 要设置输出页面大小,可以设置HtmlToPdfConverter.Size属性

Converter.Size = PageSize.Letter;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM