Пустая 1-я страница при конвертации HTML в PDF с помощью nreco.generated - PullRequest
1 голос
/ 07 июля 2019

Nreco успешно преобразовал мой html-код в pdf, но на первой странице pdf он создал пустую страницу с номером 5 для размера страницы A4 и 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()

1 Ответ

0 голосов
/ 08 июля 2019

Если вы используете пакет nuget NReco.PdfGenerator, то следующая строка будет неправильной:

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

, потому что t его перегрузка метода GeneratePdf ожидает 2 аргумента: первая строка 1 является основным HTMLcontent (обязательный) и вторая строка для страницы обложки (специальный контент для первой страницы), которая является необязательной (может быть нулевой).

Чтобы установить размер выходной страницы, вы можете установить HtmlToPdfConverter.Sizeсвойство :

Converter.Size = PageSize.Letter;
...