Asynchronously loads a page from a stream containing an image, document or vector file as SVG.
public static Task<ISvgDocument> LoadSvgAsync(
this RasterCodecs rasterCodecs,
ILeadStream stream,
int pageNumber,
CodecsLoadSvgOptions options
)
rasterCodecs
RasterCodecs object to perform the operation.
stream
The stream containing the image data to load.
pageNumber
The 1-based page number.
options
The options used for loading SVG. This can be null.
A Task
that represents the asynchronous operation. TResult
: The SVG document representation of the page.
This topic is part of RasterCodecs
support for .NET async/await
support. Refer to RasterCodecs Async Operations for more information.
Use this method to load a page from any supported image, document or vector file as SVG (Scalable Vector Graphics). For more information refer LoadSvg(string fileName, int pageNumber, CodecsLoadSvgOptionsOptions).
To determine whether a file or stream can be loaded as SVG, use CanLoadSvgAsync.
To load as SVG from a file or stream directly, use LoadSvg.
For more information, refer to Working With SVG.
This example will load a page from a URL as SVG:
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
public async void LoadSvg_AsyncExample()
{
// For .NET Framework: Add a reference to Leadtools.Async to get the async support as extension methods
// For .NET Standard: async support is included.
// Address of a document thats supports loading as SVG, for example, a PDF file
string address = @"https://demo.leadtools.com/images/pdf/leadtools.pdf";
Uri uri = new Uri(address);
using (RasterCodecs codecs = new RasterCodecs())
{
// Set 300 as the default value for loading document files
codecs.Options.RasterizeDocument.Load.Resolution = 300;
// Create an ILeadStream object to the URI
using (ILeadStream leadStream = await LeadStream.Factory.FromUri(uri))
{
// Load the first page as SVG
using (ISvgDocument svg = await codecs.LoadSvgAsync(leadStream, 1, null))
{
Console.WriteLine("Loading from {0} is done", uri);
// Cast the generic ISvgDocument interface it to SvgDocument so we can use it.
SvgDocument svgDocument = svg as SvgDocument;
// Show its size
if (!svgDocument.Bounds.IsValid)
svgDocument.CalculateBounds(false);
Console.WriteLine("Bounds: {0}", svgDocument.Bounds.Bounds);
svgDocument.Dispose();
}
}
}
}
For .NET Framework: A reference to the Leadtools.Async.dll assembly is required to use this functionality.
For .NET Standard: This functionality is included in the Leadtools.Codecs.dll assembly.
Target PlatformsHelp Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document