public ISvgDocument LoadSvg(
Stream stream,
int pageNumber,
CodecsLoadSvgOptions options
)
- (nullable id<ISvgDocument>)loadSvgStream:(LTLeadStream *)stream
page:(NSInteger)pageNumber
options:(nullable LTCodecsLoadSvgOptions *)options
error:(NSError **)error
public ISvgDocument loadSvg(
ILeadStream stream,
int pageNumber,
CodecsLoadSvgOptions options
)
public:
ISvgDocument^ LoadSvg(
Stream^ stream,
int pageNumber,
CodecsLoadSvgOptions^ options
)
def LoadSvg(self,options):
stream
The input stream.
pageNumber
1-based page number to load.
options
The options used for loading SVG. This can be null.
SVG document representation of the page.
Use this method to load a page from any supported image, document or vector file as SVG (Scalable Vector Graphics). The following conditions must be met to load a page from a file as SVG:
Condition | Description |
---|---|
The file format is SVG |
SVG can be loaded as SVG |
The file format is document |
Any of the document file formats supported by LEADTOOLS such DOCX/DOC, PPTX/PPT, XLSX/XLS, RTF, TXT, AFP, ICA, etc. These formats will set the CodecsDocumentImageInfo.IsDocumentFile property to true when calling GetInformation |
The file format is vector |
Any of the vector file formats supported by LEADTOOLS such as DXF, DWG, etc. These formats will set the CodecsVectorImageInfo.IsVectorFile property to true when calling GetInformation |
The file format is PDF |
And the PDF file contains more than pure raster data (for example, not scanned PDF file). |
To find out if an input file can be loaded as SVG, use the CanLoadSvg method.
In addition to the usual format filter assembly (Leadtools.Codecs.*), The following additional assemblies may be required to support loading as SVG
Assembly | Description |
---|---|
Leadtools.Svg |
SVG support. Always required |
Leadtools.Vector |
Required if the input document is a vector file |
Leadtools.Pdf |
Required if the input document is a PDF file |
Usually, the returned ISvgDocument is to be casted to Leadtools.Svg.SvgDocument to continue working with the other SVG features, such as retrieving its data, rendering it to a target or saving it to a separate file.
You must check the result SVG document flatness and perform the necessary operation before continuing.
To determine whether a file or stream can be loaded as SVG, use CanLoadSvg(string fileName) or CanLoadSvg(Stream stream).
To load as SVG from a disk file, use LoadSvg(string fileName, int pageNumber, CodecsLoadSvgOptions options).
To load as SVG asynchronously, use LoadSvgAsync.
For more information, refer to Working With SVG.
This example will check a folder of document and images files for SVG support then loads the first page of each supported file and saves the result SVG.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
public void LoadSvgExample()
{
// input directory
string inDir = LEAD_VARS.ImagesDir;
// output directory
string outDir = Path.Combine(LEAD_VARS.ImagesDir, "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))
{
codecs.CanLoadSvg(srcFileName);
// codecs.CanLoadSvg(stream);
Debug.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);
Debug.WriteLine("Saving to {0}", dstFileName);
svgDocument.SaveToFile(dstFileName, null);
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}
}
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.*;
import java.net.*;
import java.nio.file.Paths;
import java.util.*;
import java.time.Instant;
import java.time.Duration;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.codecs.RasterCodecs.FeedCallbackThunk;
import leadtools.drawing.internal.*;
import leadtools.imageprocessing.*;
import leadtools.imageprocessing.color.ChangeIntensityCommand;
import leadtools.svg.*;
public void loadSvgExample() throws IOException {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
String outDir = combine(LEAD_VARS_IMAGES_DIR, "svgpages");
File outDirFile = new File(outDir);
if (!outDirFile.exists())
outDirFile.createNewFile();
RasterCodecs codecs = new RasterCodecs();
// Set 300 as the default value for loading document files
codecs.getOptions().getRasterizeDocument().getLoad().setResolution(300);
codecs.setThrowExceptionsOnInvalidImages(false);
// Get all the files from input directory
File inDirFile = new File(LEAD_VARS_IMAGES_DIR);
for (String srcFileName : inDirFile.list()) {
codecs.canLoadSvg(srcFileName);
// codecs.CanLoadSvg(stream);
System.out.println("Checking " + srcFileName);
CodecsImageInfo info = codecs.getInformation(srcFileName, false);
// We can load as SVG if its document or vector (skipping SVG files themselves)
if (info.getFormat() != RasterImageFormat.UNKNOWN && // valid format
info.getFormat() != RasterImageFormat.SVG && // not svg
(info.getDocument().isDocumentFile() || // a document
info.getVector().isVectorFile())) // or vector
{
// try to load the first page as SVG
try {
SvgDocument svgDocument = (SvgDocument) codecs.loadSvg(srcFileName, 1, null);
// Save it to disk
String name = srcFileName.replace(".", "-");
name = name + ".svg";
String dstFileName = combine(outDir, name);
System.out.println("Saving to " + dstFileName);
svgDocument.saveToFile(dstFileName, null);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
}
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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.