←Select platform

GetObjectData Method

Summary
Populates a specified System.Runtime.Serialization.SerializationInfo with the data needed to serialize this object.
Syntax
C#
C++/CLI
Python
public virtual void GetObjectData( 
   SerializationInfo info, 
   StreamingContext context 
) 
public: 
virtual void GetObjectData(  
   SerializationInfo^ info, 
   StreamingContext context 
)  
def GetObjectData(self,info,context): 

Parameters

info
The System.Runtime.Serialization.SerializationInfo to populate with data.

context
The contextual information about the source or destination of the serialization.

Remarks

This method implements System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)

The SvgDocument class supports standard .NET serialization. Serialization of a SvgDocument is the process of converting the state of a Leadtools.RasterImage object into a form that can be persisted or transported. The complement of serialization is deserialization, which converts a stream into an Leadtools.RasterImage object. Together, these processes allow the image data to be easily stored and transferred.

When you serialize a SvgDocument object, all the data inside the object is saved. The SvgDocument can be reconstructed back to its original state from the stream.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
using Leadtools.Forms.DocumentWriters; 
using Leadtools.Svg; 
 
using Leadtools.Document.Writer; 
 
public void SvgDocumentSerializationExample() 
{ 
   SvgDocument document = null; 
 
   // Load a page from a document file as SVG 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"); 
 
   using (var codecs = new RasterCodecs()) 
   { 
      // Set 300 as the default value for loading document files 
      codecs.Options.RasterizeDocument.Load.Resolution = 300; 
 
      document = codecs.LoadSvg(srcFileName, 1, null) as SvgDocument; 
   } 
 
   // Prepare it 
   if (!document.IsFlat) 
      document.Flat(null); 
   if (!document.Bounds.IsValid) 
      document.CalculateBounds(false); 
 
   // Show its properties 
   Console.WriteLine("Before serialization"); 
   Console.WriteLine("Bounds: " + document.Bounds.Bounds); 
   Console.WriteLine("Resolution: " + document.Bounds.Resolution); 
 
   // Serialize (save) it to a stream 
   var stream = new MemoryStream(); 
   var formatter = new BinaryFormatter(); 
   formatter.Serialize(stream, document); 
   stream.Position = 0; 
 
   // Get rid of the document 
   document.Dispose(); 
 
   // Now de-serailize (load) it back from the stream and show its properties 
   document = formatter.Deserialize(stream) as SvgDocument; 
   Console.WriteLine("After de-serialization"); 
   Console.WriteLine("Bounds: " + document.Bounds.Bounds); 
   Console.WriteLine("Resolution: " + document.Bounds.Resolution); 
 
   document.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.Svg Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.