Winnovative HTML to PDF Converter

Create PDF Documents

Winnovative HTML to PDF Converter for .NET Documentation

Winnovative HTML to PDF Converter allows you to create empty PDF documents to which you can add various types of elements: HTML, text, images, graphics. You can save the created PDF document to a file, a stream or in a memory buffer. A PDF document is represented in API by a WinnovativeDocument object.

When you create a PDF document you can choose the PDF Standard and the Color Space in Document object constructor. You can also choose the PDF page size, orientation and margins when you add a page to PDF document using the DocumentAddPage(PdfPageSize, Margins, PdfPageOrientation) method.

Code Sample - Create PDF Documents

protected void createPdfButton_Click(object sender, EventArgs e)
{
    // Get the PDF Standard
    // By default the Full PDF standard is used
    PdfStandardSubset pdfStandard = PdfStandardSubset.Full;
    if (pdfARadioButton.Checked)
        pdfStandard = PdfStandardSubset.Pdf_A_1b;
    else if (pdfXRadioButton.Checked)
        pdfStandard = PdfStandardSubset.Pdf_X_1a;

    // Get the Color Space
    // By default the RGB color space is used
    ColorSpace pdfColorSpace = ColorSpace.RGB;
    if (grayScaleRadioButton.Checked)
        pdfColorSpace = ColorSpace.Gray;
    else if (cmykRadioButton.Checked)
        pdfColorSpace = ColorSpace.CMYK;

    // Create the PDF document
    Document pdfDocument = null;

    if (pdfStandard == PdfStandardSubset.Full && pdfColorSpace == ColorSpace.RGB)
    {
        // Create a PDF document with default standard and color space
        pdfDocument = new Document();
    }
    else
    {
        // Create a PDF document with the selected standard and color space
        pdfDocument = new Document(pdfStandard, pdfColorSpace);
    }

    // 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=";

    // Get the selected PDF page size
    PdfPageSize pdfPageSize = SelectedPdfPageSize();

    // Get the selected PDF page orientation
    PdfPageOrientation pdfPageOrientation = SelectedPdfPageOrientation();

    // Get the PDF page margins
    Margins pdfPageMargins = new Margins(float.Parse(leftMarginTextBox.Text), float.Parse(rightMarginTextBox.Text),
            float.Parse(topMarginTextBox.Text), float.Parse(bottomMarginTextBox.Text));

    // Create a PDF page in PDF document
    PdfPage firstPdfPage = pdfDocument.AddPage(pdfPageSize, pdfPageMargins, pdfPageOrientation);

    try
    {
        // The URL of the HTML page to convert to PDF
        string urlToConvert = "http://www.winnovative-software.com";

        // Create the HTML to PDF element
        HtmlToPdfElement htmlToPdfElement = new HtmlToPdfElement(urlToConvert);

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

        // Add the HTML to PDF element to PDF document
        firstPdfPage.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=Create_PDF_Documents.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();
    }
}