Попытка преобразовать gridview в документ PDF

#asp.net #itext7 #pdfhtml

#asp.net #itext7 #pdfhtml

Вопрос:

Основной принцип заключается в том, что я пытаюсь взять GridView и превратить его в документ PDF. GridView включает в себя элементы управления, такие как флажки и некоторые классы CSS с некоторой окраской.

Я попытался собрать это вместе, но, думаю, я неправильно понимаю, как что-то работает, и теперь зашел в тупик. В настоящее время все это компилируется и запускается, но при попытке открыть возвращенный PDF-файл сообщается, что он не загружается. Возвращаемый файл имеет размер 1 КБ, поэтому я предполагаю, что на самом деле это не действительный PDF.

Я использую iText7 и htmlPDF, при этом мой код выглядит следующим образом.

 Protected Sub ExportToPDF(sender As Object, e As ImageClickEventArgs)
    Using sw As New StringWriter()
        Using hw As New HtmlTextWriter(sw)
            Response.ContentType = "application/pdf"
            Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf")
            Response.Cache.SetCacheability(HttpCacheability.NoCache)

            gvCSC.DataBind()
            gvCSC.RenderControl(hw)

            Dim pdfWriter As New PdfWriter(Response.OutputStream)
            Dim pdfDoc As New PdfDocument(pdfWriter)
            Dim sr As New StringReader(sw.ToString)
            pdfDoc.SetDefaultPageSize(New PageSize(PageSize.A4.Rotate))
            Dim doc As Document = HtmlConverter.ConvertToDocument(sr.ToString, pdfDoc, New ConverterProperties)

            Response.End()

            pdfDoc.Close()
        End Using
    End Using
End Sub
  

Я надеюсь, что я просто глуп, поскольку я раньше не использовал iText7, и ему просто нужно, чтобы кто-то указал на очевидное для меня. Любая помощь в решении этой проблемы будет оценена.