←Select platform

LoadSvgAsync(RasterCodecs,ILeadStream,int,CodecsLoadSvgOptions) Method

Summary

Asynchronously loads a page from a stream containing an image, document or vector file as SVG.

Syntax
C#

Parameters

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.

Return Value

A Task that represents the asynchronous operation. TResult: The SVG document representation of the page.

Remarks

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.

Example

This example will load a page from a URL as SVG:

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
using LeadtoolsExamples.Common; 
 
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(); 
         } 
      } 
   } 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.Drawing 
Imports Leadtools.Svg 
 
Public Async Sub 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 
   Dim address As String = "https://demo.leadtools.com/images/pdf/leadtools.pdf" 
   Dim uri As New Uri(address) 
 
   Using codecs As 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 stream As ILeadStream = Await LeadStream.Factory.FromUri(uri) 
         ' Load the first page as SVG 
         Using svg As ISvgDocument = Await codecs.LoadSvgAsync(stream, 1, Nothing) 
            Console.WriteLine("Loading from {0} is done", uri) 
 
            ' Cast the generic ISvgDocument interface it to SvgDocument so we can use it. 
            Dim SvgDocument As SvgDocument = DirectCast(svg, SvgDocument) 
 
            ' Show its size 
            If Not SvgDocument.Bounds.IsValid Then 
               SvgDocument.CalculateBounds(False) 
            End If 
 
            Console.WriteLine("Bounds: {0}", SvgDocument.Bounds.Bounds) 
            SvgDocument.Dispose() 
         End Using 
      End Using 
   End Using 
End Sub 

Requirements

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 Platforms

Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly