public ISvgDocument LoadSvg(
string fileName,
int pageNumber,
CodecsLoadSvgOptions options
)
- (nullable id<ISvgDocument>)loadSvgFile:(NSString *)file
page:(NSInteger)pageNumber
options:(nullable LTCodecsLoadSvgOptions *)options
error:(NSError **)error
public:
ISvgDocument^ LoadSvg(
String^ fileName,
int pageNumber,
CodecsLoadSvgOptions^ options
)
def LoadSvg(self,options):
fileName
The input file name.
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 stream, use LoadSvg(Stream stream, 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