#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, и ему просто нужно, чтобы кто-то указал на очевидное для меня. Любая помощь в решении этой проблемы будет оценена.