SvgDocument Class
Summary
Represents a Scalable Vector Graphics (SVG) document.
Syntax
C#
VB
Java
Objective-C
C++
[SerializableAttribute()]
public class SvgDocument : ISvgDocument, IDisposable, ISerializable
@interface LTSvgDocument : NSObject <ISvgDocument, NSCopying, NSCoding>
public class SvgDocument implements ISvgDocument, Serializable
Example
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