EVO HTML to SVG Converter can be used in any type of .NET application to convert HTML pages to SVG vector images. The HTML to SVG Converter is not a standalone product, it is part of the HTML to PDF Converter Library and is represented by the HtmlToSvgConverter class of that library.
Using this class you can convert HTML pages to SVG images. SVG is the de facto standard for vector images and the trend is to use more and more vector images instead of raster images because the vector images preserve the same quality at different zoom levels. The integration with existing .NET applications is extremely easy and no installation is necessary.
The downloaded archive contains the assembly for .NET and a demo application. The full C# source code for the demo application is available in the Samples folder.
The code below was taken from the HTML to SVG Converter demo application available for download in the HTML to PDF Converter product package. In this sample an instance of the HtmlToSvgConverter class is constructed and used to convert an HTML page to an SVG vector image.
Default.aspx.csC#
protected void convertToSvgButton_Click(object sender, EventArgs e)
{
// Create a HTML to SVG converter object with default settings
HtmlToSvgConverter htmlToSvgConverter = new HtmlToSvgConverter();
// Set license key received after purchase to use the converter in licensed mode
// Leave it not set to use the converter in demo mode
// Set HTML Viewer width in pixels which is the equivalent in converter of the browser window width
htmlToSvgConverter.HtmlViewerWidth = int.Parse(htmlViewerWidthTextBox.Text);
// Set HTML viewer height in pixels to convert the top part of a HTML page
// Leave it not set to convert the entire HTML
if (htmlViewerHeightTextBox.Text.Length > 0)
htmlToSvgConverter.HtmlViewerHeight = int.Parse(htmlViewerHeightTextBox.Text);
// Set the maximum time in seconds to wait for HTML page to be loaded
// Leave it not set for a default 60 seconds maximum wait time
htmlToSvgConverter.NavigationTimeout = int.Parse(navigationTimeoutTextBox.Text);
// Set an additional 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 asynchronous operations to finish
if (conversionDelayTextBox.Text.Length > 0)
htmlToSvgConverter.ConversionDelay = int.Parse(conversionDelayTextBox.Text);
// The buffer to receive the generated SVG document
byte[] outSvgBuffer = null;
if (convertUrlRadioButton.Checked)
{
string url = urlTextBox.Text;
// Convert the HTML page given by an URL to a SVG document in a memory buffer
outSvgBuffer = htmlToSvgConverter.ConvertUrl(url);
}
else
{
string htmlString = htmlStringTextBox.Text;
string baseUrl = baseUrlTextBox.Text;
// Convert a HTML string with a base URL to a SVG document in a memory buffer
outSvgBuffer = htmlToSvgConverter.ConvertHtml(htmlString, baseUrl);
}
// Send the SVG as response to browser
// Set response content type
Response.AddHeader("Content-Type", "image/svg+xml");
// Instruct the browser to open the SVG file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=HTML_to_SVG.svg; size={0}", outSvgBuffer.Length.ToString()));
// Write the SVG document buffer to HTTP response
Response.BinaryWrite(outSvgBuffer);
// End the HTTP response and stop the current page processing
Response.End();
}