public class CodecsLoadSvgOptions @interface LTCodecsLoadSvgOptions : NSObject<NSCopying, NSSecureCoding> public class CodecsSvgLoadOptions public ref class CodecsLoadSvgOptions class CodecsLoadSvgOptions: The CodecsLoadSvgOptions is used with the following methods:
RasterCodecs.LoadSvg(string fileName, int pageNumber, CodecsLoadSvgOptions options)
RasterCodecs.LoadSvg(Stream stream, int pageNumber, CodecsLoadSvgOptions options)
Task<bool> LoadSvgAsync(ILeadStream stream, int pageNumber, CodecsLoadSvgOptions options)
RasterCodecs.LoadSvgAsync(Uri uri, int pageNumber, CodecsLoadSvgOptions options, object userState)
For more information, refer to Working With SVG.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;public void CodecsLoadSvgOptionsExample(){// The source PDF filestring srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf");// SVG sort callback handlerSvgSortElementsCallback sortCallback = (callabackDocument, info, userData) =>{// Is it text?SvgTextData textData = info.TextData;if (textData != null){// Yes, print it to the consoleConsole.Write(textData.Text + " ");// See if its end of linevar len = textData.Text.Length;if ((textData.CharacterFlags[len - 1] & SvgTextCharacterFlags.EndOfLine) == SvgTextCharacterFlags.EndOfLine)Debug.WriteLine(" ");}return true;};using (var codecs = new RasterCodecs()){// Set 300 as the default value for loading document filescodecs.Options.RasterizeDocument.Load.Resolution = 300;// get the number of pagesint pageCount = codecs.GetTotalPages(srcFileName);for (int pageNumber = 1; pageNumber <= pageCount; pageNumber++){// Load this page as SVG, we are interested in the text only so// we will ask LEADTOOLS to skip other elementsCodecsLoadSvgOptions loadSvgOptions = new CodecsLoadSvgOptions();loadSvgOptions.DropText = false;loadSvgOptions.DropImages = true;loadSvgOptions.DropShapes = true;using (SvgDocument svgDocument = codecs.LoadSvg(srcFileName, pageNumber, loadSvgOptions) as SvgDocument){// Sort requires a flat document, so check for thatif (!svgDocument.IsFlat)svgDocument.Flat(null);if (!svgDocument.Bounds.IsValid)svgDocument.CalculateBounds(false);SvgSortOptions sortOptions = new SvgSortOptions();sortOptions.ExtractText = SvgExtractText.Word;sortOptions.SortFlags = SvgSortFlags.Default;Debug.WriteLine("Text for page {0}", pageNumber);svgDocument.SortElements(sortOptions, sortCallback, null);Debug.WriteLine("-------------");}}}}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.*;SvgSortElementsCallback sortCallback = new SvgSortElementsCallback() {@Overridepublic boolean onSort(SvgDocument callbackDocument, SvgElementInfo info, Object userData) {try {// Is it text?SvgTextData textData = info.getTextData();if (textData != null) {// Yes, print it to the consoleSystem.out.println(textData.getText() + " ");// See if its end of linevar len = textData.getText().length();if (textData.getCharacterFlags()[len - 1] == SvgTextCharacterFlags.END_OF_LINE.getValue())System.out.println(" ");}return true;} catch (Exception e) {System.out.println("Current Page doesn't contain text (null)");return true;}}};public void codecsLoadSvgOptionsExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf");ILeadStream srcFileStream = LeadStreamFactory.create(srcFileName);RasterCodecs codecs = new RasterCodecs();// Set 300 as the default value for loading document filescodecs.getOptions().getRasterizeDocument().getLoad().setResolution(300);// get the number of pagesint pageCount = codecs.getTotalPages(srcFileName);for (int pageNumber = 2; pageNumber <= pageCount; pageNumber++) {// Load this page as SVG, we are interested in the text only so// we will ask LEADTOOLS to skip other elementsCodecsLoadSvgOptions loadSvgOptions = new CodecsLoadSvgOptions();loadSvgOptions.setDropText(false);loadSvgOptions.setDropImages(true);loadSvgOptions.setDropShapes(true);SvgDocument svgDocument = (SvgDocument) codecs.loadSvg(srcFileName, pageNumber, loadSvgOptions);// Sort requires a flat document, so check for thatif (!svgDocument.isFlat())svgDocument.flat(null);if (!svgDocument.getBounds().isValid())svgDocument.calculateBounds(false);SvgSortOptions sortOptions = new SvgSortOptions();sortOptions.setExtractText(SvgExtractText.WORD.getValue());sortOptions.setSortFlags(SvgSortFlags.DEFAULT.getValue());System.out.println("Text for page " + pageNumber);svgDocument.sortElements(sortOptions, sortCallback, srcFileStream);System.out.println("-------------");}}
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
