Represents a Scalable Vector Graphics (SVG) document.
[SerializableAttribute()]
public class SvgDocument : ISvgDocument, IDisposable, ISerializable
<SerializableAttribute()>
Public Class SvgDocument
Implements ISvgDocument
@interface LTSvgDocument : NSObject <ISvgDocument, NSCopying, NSCoding>
public class SvgDocument implements ISvgDocument, Serializable
[SerializableAttribute()]
public ref class SvgDocument : public ISvgDocument
The SvgDocument class represents a Scalable Vector Graphics (SVG) object. LEADTOOLS supports versions 1.* to 2.0 of the SVG specification.
The SvgDocument class implements System.Runtime.Serialization.ISerializable and fully supports .NET serialization.
The SvgDocument class implements System.IDisposable. You must use the .NET dispose pattern or call Dispose on the object after using it.
The SvgDocument class implements Leadtools.ISvgDocument and can be cast directly from the other LEADTOOLS methods that return an instance of that interface.
For more information about using SvgDocument, refer to Working With SVG.
This example will try to load the first page of each document in a folder as SVG. If successful, it will save the page as an SVG file.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.Forms.DocumentWriters;
using Leadtools.Svg;
using LeadtoolsExamples.Common;
public void SvgDocumentExample()
{
// input directory
string inDir = ImagesPath.Path;
// output directory
string outDir = Path.Combine(ImagesPath.Path, "svgpages");
if (!Directory.Exists(outDir))
Directory.CreateDirectory(outDir);
using (var codecs = new RasterCodecs())
{
// Set 300 as the default value for loading document files
codecs.Options.RasterizeDocument.Load.Resolution = 300;
codecs.ThrowExceptionsOnInvalidImages = false;
// Get all the files from input directory
foreach (var srcFileName in Directory.EnumerateFiles(inDir))
{
Console.WriteLine("Checking {0}", srcFileName);
using (var info = codecs.GetInformation(srcFileName, false))
{
// We can load as SVG if its document or vector (skipping SVG files themselves)
if (info.Format != RasterImageFormat.Unknown && // valid format
info.Format != RasterImageFormat.Svg && // not svg
(info.Document.IsDocumentFile || // a document
info.Vector.IsVectorFile)) // or vector
{
// try to load the first page as SVG
try
{
using (SvgDocument svgDocument = codecs.LoadSvg(srcFileName, 1, null) as SvgDocument)
{
// Save it to disk
string name = Path.GetFileName(srcFileName).Replace(".", "-");
name = Path.ChangeExtension(name, "svg");
string dstFileName = Path.Combine(outDir, name);
Console.WriteLine("Saving to {0}", dstFileName);
svgDocument.SaveToFile(dstFileName, null);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
}
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Imports Leadtools.Forms.DocumentWriters
Imports Leadtools.Svg
Public Shared Sub SvgDocumentExample()
' input directory
Dim inDir As String = Common.ImagesPath.Path
' output directory
Dim outDir As String = Path.Combine(Common.ImagesPath.Path, "svgpages")
If Not Directory.Exists(outDir) Then
Directory.CreateDirectory(outDir)
End If
Using codecs As New RasterCodecs()
' Set 300 as the default value for loading document files
codecs.Options.RasterizeDocument.Load.Resolution = 300
codecs.ThrowExceptionsOnInvalidImages = False
' Get all the files from input directory
For Each srcFileName As String In Directory.EnumerateFiles(inDir)
Console.WriteLine("Checking {0}", srcFileName)
Using info As CodecsImageInfo = codecs.GetInformation(srcFileName, False)
' We can load as SVG if its document or vector (skipping SVG files themselves)
If info.Format <> RasterImageFormat.Unknown AndAlso
info.Format <> RasterImageFormat.Svg AndAlso
(info.Document.IsDocumentFile OrElse
info.Vector.IsVectorFile) Then
' try to load the first page as SVG
Try
Using svgDocument As SvgDocument = DirectCast(codecs.LoadSvg(srcFileName, 1, Nothing), SvgDocument)
' Save it to disk
Dim name As String = Path.GetFileName(srcFileName).Replace(".", "-")
name = Path.ChangeExtension(name, "svg")
Dim dstFileName As String = Path.Combine(outDir, name)
Console.WriteLine("Saving to {0}", dstFileName)
svgDocument.SaveToFile(dstFileName, Nothing)
End Using
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End If
End Using
Next
End Using
End Sub
Help 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