public bool TextOnly { get; set; }
true to leave only the text elements after the document is flattened; otherwise, false. The default value is false.
Use this property to extract text strings. Set the value of this property to true to speed up the flattening process.
using Leadtools;using Leadtools.Codecs;using Leadtools.Drawing;using Leadtools.Forms.DocumentWriters;using Leadtools.Svg;using Leadtools.Document.Writer;public void SortElementsExample(){// The source PDF filestring srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf");string dstFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example.txt");// SVG sort callback handlerSvgSortElementsCallback sortCallback = (callabackDocument, info, userData) =>{StreamWriter writer = userData as StreamWriter;// Is it text?SvgTextData textData = info.TextData;if (textData != null){// Yes, print it to the consolewriter.Write(textData.Text + " ");// See if its end of linevar len = textData.Text.Length;if ((textData.CharacterFlags[len - 1] & SvgTextCharacterFlags.EndOfLine) == SvgTextCharacterFlags.EndOfLine)writer.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);// Create a writer for the output text fileusing (StreamWriter writer = File.CreateText(dstFileName)){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.DropShapes = 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;Console.WriteLine("Text for page {0}", pageNumber);svgDocument.SortElements(sortOptions, sortCallback, writer);}}// Show the text fileSystem.Diagnostics.Process.Start(dstFileName);}}}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}