protected void convertToPdfButton_Click(object sender, EventArgs e)
{
    // Create a PDF document
    Document pdfDocument = new Document();

    // Set license key received after purchase to use the converter in licensed mode
    // Leave it not set to use the converter in demo mode
    pdfDocument.LicenseKey = "fvDh8eDx4fHg4P/h8eLg/+Dj/+jo6Og=";

    // Add a page to PDF document
    PdfPage pdfPage = pdfDocument.AddPage();

    // Set the PDF Viewer Preferences

    // Set page layout to continuous one column, single page, two column left, two column right
    pdfDocument.ViewerPreferences.PageLayout = SelectedPageLayout();
    // Set page mode to default, display attachments, display thumbnails, display attachments
    pdfDocument.ViewerPreferences.PageMode = SelectedPageMode();

    // Hide the viewer menu
    pdfDocument.ViewerPreferences.HideMenuBar = hideMenuBarCheckBox.Checked;
    // Hide the viewer toolbar
    pdfDocument.ViewerPreferences.HideToolbar = hideToolbarCheckBox.Checked;
    // Hide scroll bars and navigation controls
    pdfDocument.ViewerPreferences.HideWindowUI = hideWindowUICheckBox.Checked;

    // Display the document title in viewer title bar
    pdfDocument.ViewerPreferences.DisplayDocTitle = displayDocTitleCheckBox.Checked;

    try
    {
        // Create a HTML to PDF element to add to document
        HtmlToPdfElement htmlToPdfElement = new HtmlToPdfElement(urlTextBox.Text);

        // Optionally set a delay before conversion to allow asynchonous scripts to finish
        htmlToPdfElement.ConversionDelay = 2;

        // Add the HTML to PDF element to document
        pdfPage.AddElement(htmlToPdfElement);

        // Save the PDF document in a memory buffer
        byte[] outPdfBuffer = pdfDocument.Save();

        // Send the PDF as response to browser

        // Set response content type
        Response.AddHeader("Content-Type", "application/pdf");

        // Instruct the browser to open the PDF file as an attachment or inline
        Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Set_PDF_Viewer_Preferences.pdf; size={0}", outPdfBuffer.Length.ToString()));

        // Write the PDF document buffer to HTTP response
        Response.BinaryWrite(outPdfBuffer);

        // End the HTTP response and stop the current page processing
        Response.End();
    }
    finally
    {
        // Close the PDF document
        pdfDocument.Close();
    }
}