EVO HTML to PDF Converter

Select Media Type When Converting HTML to PDF

EVO PDF Client for .NET Documentation

In the HTML document you can define different styles for different media types using @media rules. For example you can have a style for screen with background colors and images and a style for printing without background colors or images to save ink. EVO HTML to PDF Converter allows you to select the media type for which you want to render the HTML document using the HtmlToPdfConverterMediaType property.

Code Sample - Select Media Type When Converting HTML to PDF

C#
protected void convertToPdf()
{
    // Get the server IP and port
    String serverIP = textBoxServerIP.Text;
    uint serverPort = uint.Parse(textBoxServerPort.Text);

    // Create a HTML to PDF converter object
    HtmlToPdfConverter htmlToPdfConverter = null;
    if (radioButtonUseTcpService.Checked)
        htmlToPdfConverter = new HtmlToPdfConverter(serverIP, serverPort);
    else
        htmlToPdfConverter = new HtmlToPdfConverter(true, textBoxWebServiceUrl.Text);

    // Set optional service password
    if (textBoxServicePassword.Text.Length > 0)
        htmlToPdfConverter.ServicePassword = textBoxServicePassword.Text;

    // Set license key received after purchase to use the converter in licensed mode
    // Leave it not set to use the converter in demo mode
    htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c=";

    // Set an adddional delay in seconds to wait for JavaScript or AJAX calls after page load completed
    // Set this property to 0 if you don't need to wait for such asynchcronous operations to finish
    htmlToPdfConverter.ConversionDelay = 2;

    // Set the media type for which to render HTML to PDF
    htmlToPdfConverter.MediaType = printMediaTypeRadioButton.Checked ? "print" : "screen";

    byte[] outPdfBuffer = null;

    if (convertHtmlRadioButton.Checked)
    {
        string htmlWithForm = htmlStringTextBox.Text;
        string baseUrl = baseUrlTextBox.Text;

        // Convert a HTML string to a PDF document for the selected media type
        outPdfBuffer = htmlToPdfConverter.ConvertHtml(htmlWithForm, baseUrl);
    }
    else
    {
        string url = urlTextBox.Text;

        // Convert the HTML page to a PDF document for the selected media type
        outPdfBuffer = htmlToPdfConverter.ConvertUrl(url);
    }
}
HTML Code with @media Rules

XML
<!DOCTYPE html>
<html>
<head>
    <title>Media Type Rules</title>
    <style type="text/css">
        /* Set the body text family and font size both for screen and print*/
        body
        {
            width: 1000px;
            margin: 10px;
            font-family: 'Times New Roman';
            font-size: 18px;
        }

        /* Set the title text font size and weight both for screen and print*/
        .title
        {
            font-size: 24px;
            font-weight: bold;
        }

        @media screen
        {
            /* Set a background color only when the HTML page is displayed on screen*/
            body
            {
                background-color: aliceblue;
            }

            /* Use blue to write the text on screen*/
            p
            {
                color: darkblue;
            }
        }

        @media print
        {
            /* Hide images when priting*/
            img
            {
                display: none;
            }

            /* Use black to write the text on screen*/
            p
            {
                color: black;
            }
        }


        @media screen,print
        {
            /* Set the paragraph text family and font size both for screen and print*/
            p
            {
                font-family: 'Times New Roman';
                font-size: 20px;
            }
        }
    </style>
</head>
<body>
    <span class="title">Media Type Rules</span><br />
    <br />
    This document have different styles when it is displayed on the screen and when it is printed.
    You can instruct the converter to use the style you want setting its <i>MediaType</i> property.<br />
    <br />
    <b>The image below is visible only when the selected media type is 'screen' and is hidden when the selected media type is 'print'</b>:<br />
    <br />
    <img alt="Logo Image" src="img/logo.jpg" />
    <br />
    <br />
    <b>The text below will be dark blue when the selected media type is 'screen' and black when the selected media type is 'print':</b>
    <p>
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut 
        laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation 
        ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure 
        dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla 
        facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit 
        augue duis dolore te feugait nulla facilisi.
    </p>
</body>
</html>