SelectPdf for .NET - Conversion Delay with Html to Pdf Converter - VB.NET / ASP.NET MVC Sample

This sample shows how the html to pdf converter can be used to convert a web page to pdf using SelectPdf Pdf Library for .NET.

For pages that use javascripts heavily, the conversion can be delayed a number of seconds using converter.Options.MinPageLoadTime property to allow the content to be fully rendered.

In a similar way, if a page takes too much time to load, the converter can specify the amount of time in seconds when the page load will timeout using the property converter.Options.MaxPageLoadTime.

Url:

Delay conversion:
seconds

Page timeout:
seconds


Sample Code VB.NET



Imports SelectPdf

Namespace Controllers
    Public Class ConversionDelayController
        Inherits Controller

        ' GET: ConversionDelay
        Public Function Index() As ActionResult
            Return View()
        End Function

        <HttpPost>
        Public Function SubmitAction(collection As FormCollection) As ActionResult
            ' read parameters from webpage
            Dim delay As Integer = 0
            Try
                delay = Convert.ToInt32(collection("TxtDelay").ToString())
            Catch
            End Try

            Dim timeout As Integer = 0
            Try
                timeout = Convert.ToInt32(collection("TxtTimeout").ToString())
            Catch
            End Try

            ' instantiate a html to pdf converter object
            Dim converter As New HtmlToPdf()

            ' specify the number of seconds the conversion is delayed
            converter.Options.MinPageLoadTime = delay

            ' set the page timeout
            converter.Options.MaxPageLoadTime = timeout

            ' create a new pdf document converting an url
            Dim doc As PdfDocument = converter.ConvertUrl(collection("TxtUrl"))

            ' save pdf document
            Dim pdf As Byte() = doc.Save()

            ' close pdf document
            doc.Close()

            ' return resulted pdf document
            Dim fileResult As FileResult = New FileContentResult(pdf, "application/pdf")
            fileResult.FileDownloadName = "Document.pdf"
            Return fileResult
        End Function
    End Class
End Namespace