Load(string,int) Method (original) (raw)

Summary

Loads an annotation container from the specified file.

Syntax

C#

Objective-C

C++/CLI

Java

Python

- (nullable LTAnnContainer *)loadXmlData:(NSString *)xmlData pageNumber:(NSUInteger)pageNumber NS_SWIFT_NAME(load(from:pageNumber:)); 
public AnnContainer load(string xmlData, int pageNumber) 

Parameters

fileName
String containing the XML data of the annotations to be loaded. This value must not be null.

pageNumber
1-based page number to load.

Return Value

A new AnnContainer object containing all the objects loaded from fileName.

Example

using Leadtools.Annotations.Automation; using Leadtools.Annotations.Engine; using Leadtools.Annotations.Rendering; public void AnnCodecs_AnnCodecs() { // Create a new annotation container, 8.5 by 11 inches AnnContainer container = new AnnContainer(); // Size must be in annotation units (1/720 of an inch) container.Size = LeadSizeD.Create(8.5 * 720, 11 * 720); double inch = 720.0; // Add a red line object, from 1in 1in to 2in 2in AnnPolylineObject lineObj = new AnnPolylineObject(); lineObj.Points.Add(LeadPointD.Create(1 * inch, 1 * inch)); lineObj.Points.Add(LeadPointD.Create(2 * inch, 2 * inch)); lineObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthD.Create(1)); container.Children.Add(lineObj); // Add a blue on yellow rectangle from 3in 3in to 4in 4in AnnRectangleObject rectObj = new AnnRectangleObject(); rectObj.Rect = LeadRectD.Create(3 * inch, 3 * inch, 1 * inch, 1 * inch); rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(1)); rectObj.Fill = AnnSolidColorBrush.Create("Yellow"); container.Children.Add(rectObj); // Show the container ShowContainer("Before save", container); // Create the codecs object to save and load annotations AnnCodecs codecs = new AnnCodecs(); // Save the container string destFileName = @"container.xml"; codecs.Save(destFileName, container, AnnFormat.Annotations, 1); // delete the container container = null; // Show information about the data we just saved AnnCodecsInfo info = codecs.GetInfo(destFileName); string message; if (info.Format == AnnFormat.Annotations) { message = "Version: "; message += info.Version; message += " No. of pages: "; message += info.Pages.Length; message += " page nos: "; for (int i = 0; i < info.Pages.Length; i++) { message += info.Pages[i] + " "; } } else { message = "Invalid annotations data"; } Debug.WriteLine(message); // Show information about the XML data we just saved XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(destFileName); AnnCodecsInfo infoFromString = codecs.GetInfoFromString(xmlDoc.OuterXml); Debug.WriteLine($"===================="); Debug.WriteLine($"Get Info From String"); Debug.WriteLine($"Format: {infoFromString.Format}"); Debug.WriteLine($"Version: {infoFromString.Version}"); Debug.WriteLine($"Pages: {infoFromString.Pages.Length}"); Debug.WriteLine($"===================="); // Load the container we just saved container = codecs.Load(destFileName, 1); // Show it ShowContainer("After load", container); // delete the container container = null; // Load the XML container just saved container = codecs.LoadFromString(xmlDoc.OuterXml, 1); // Show it ShowContainer("After load from string", container); // Save Active Layer using a Stream output AnnLayer layer = AnnLayer.Create("MyLayer"); container.ActiveLayer = layer; Stream stream = File.Create("StreamActiveLayer.xml"); codecs.SaveLayer(stream, container.ActiveLayer, AnnFormat.Annotations, 1); // Save Active Layer using a File output AnnLayer layer2 = AnnLayer.Create("MyLayer2"); container.ActiveLayer = layer2; codecs.SaveLayer("StringActiveLayer.xml", layer2, AnnFormat.Annotations, 1); // Save Layer to string AnnLayer layer4 = AnnLayer.Create("MyLayer4"); string stringLayer = codecs.SaveLayerToString(layer4, AnnFormat.Annotations); Debug.WriteLine($"{stringLayer}"); // Use SelectionObject, set ActiveLayer, Change Offset, Change PageNumber, and Save to string AnnLayer layer5 = AnnLayer.Create("MyLayer5"); AnnSelectionObject annSelectionObject = container.SelectionObject; annSelectionObject.IsSelected = true; container.ActiveLayer = layer5; container.Offset = new LeadPointD(10, 10); container.PageNumber = 3; string saveToString = codecs.SaveToString(container, AnnFormat.Annotations, 1); Debug.WriteLine($"{saveToString}"); //Load from String AnnContainer annContainer = codecs.LoadFromString(saveToString, 1); Debug.WriteLine($"{annContainer.PageNumber}"); } private void ShowContainer(String message, AnnContainer container) { string str = message + "\nContainer size: "; // Add the size double inch = 720; double width = container.Size.Width / inch; double height = container.Size.Height / inch; str += width + " by " + height + " inches" + "\n"; // Add the objects str += "Contains " + container.Children.Count + " objects(s)\n"; for (int i = 0; i < container.Children.Count; i++) { AnnObject annObj = container.Children[i]; str += "Object: " + annObj.FriendlyName + " at "; for (int j = 0; j < annObj.Points.Count; j++) { LeadPointD pt = annObj.Points[j]; double x = pt.X / inch; double y = pt.Y / inch; str += "(" + x + ", " + y + ") "; } str += "\n"; } Debug.WriteLine(str); }