LEADTOOLS JavaScript(Leadtools.Annotations.Core)

AnnCodecsオブジェクト。

フレームを表示
サンプル 
メンバ 
アノテーションファイルへのオブジェクトをロードして保存するためのサポートを提供します。
オブジェクトモデル
構文
function Leadtools.Annotations.Core.AnnCodecs() 
解説

このクラスは、XML文字列との間でのアノテーションオブジェクトのロードや保存、以前に保存されたアノテーションデータに関する情報の取得をサポートします。

このクラスは、各々のページが完全なアノテーションContainerを格納するマルチページアノテーションデータも保存して、ロードすることをサポートします。

XMLデータとしてアノテーションコンテナを保存するために、保存SaveAllメソッドを使います。その後ディスクにこのXMLデータを保存するブラウザ能力を使うことができるか、サーバでそれを保存するために、ウェブサービスを利用することができます。オプションを除いて設定するためにSerializeOptionsプロパティを使って、保存されているオブジェクトをモニターします。

XMLデータからアノテーションコンテナをロードするために、ロードLoadAllメソッドを使います。XMLデータは、以前にブラウザ機能を使用してディスクからロードされたにちがいないか、ウェブサービスを使用してサーバから得られたにちがいありません。DeserializeOptionsプロパティは、ロードオプションを設定して、ロードされているオブジェクトをモニターして、エラーを処理するのに用いられることができます。

XMLデータが形式と頁数などの有効なアノテーションデータを格納するかどうか決定するために、GetInfoまたはGetInfoFromXmlDocumentを使います。

LEADTOOLSは、同じデータセットに複数のアノテーションを保存することをサポートします。これは、同じデータで複数ページのドキュメントのアノテーションを保存するのに用いられることができます。

個々のアノテーションレイヤを保存するために、SaveLayerを使います。

サンプル

このサンプルはコンテナを作成して、それからそれに行と長方形オブジェクトを追加します。そして、それはそれを保存して、情報を得て、後ろにそれをロードします。

example: function SiteLibrary_DefaultPage$example() {
   // Create a new annotation container, 8.5 by 11 inches
   var container = new lt.Annotations.Core.AnnContainer();
   // Size must be in annotation units (1/720 of an inch)
   container.set_size(lt.LeadSizeD.create(8.5 * 720, 11 * 720));

   var inch = 720.0;
   // Add a red line object, from 1in 1in to 2in 2in
   var lineObj = new lt.Annotations.Core.AnnPolylineObject();
   lineObj.get_points().add(lt.LeadPointD.create(1 * inch, 1 * inch));
   lineObj.get_points().add(lt.LeadPointD.create(2 * inch, 2 * inch));
   lineObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("red"), lt.LeadLengthD.create(1)));
   container.get_children().add(lineObj);

   // Add a blue on yellow rectangle from 3in 3in to 4in 4in
   var rectObj = new lt.Annotations.Core.AnnRectangleObject();
   rectObj.set_rect(lt.LeadRectD.create(3 * inch, 3 * inch, 1 * inch, 1 * inch));
   rectObj.set_stroke(lt.Annotations.Core.AnnStroke.create(lt.Annotations.Core.AnnSolidColorBrush.create("blue"), lt.LeadLengthD.create(1)));
   rectObj.set_fill(lt.Annotations.Core.AnnSolidColorBrush.create("yellow"));
   container.get_children().add(rectObj);

   // Show the container
   this.showContainer("Before save", container);

   // Create the codecs object to save and load annotations
   var codecs = new lt.Annotations.Core.AnnCodecs();

   // Save the container
   var xmlData = codecs.save(container, lt.Annotations.Core.AnnFormat.annotations, null, 1);

   // delete the container
   container = null;

   // Show information about the data we just saved
   var info = codecs.getInfo(xmlData);
   var message;
   if (info.get_format() == lt.Annotations.Core.AnnFormat.annotations) {
      message = "Version: ";
      message += info.get_version();
      message += " No. of pages: ";
      message += info.get_pages().length;
      message += " page nos: ";
      for (var i = 0; i < info.get_pages().length; i++) {
         message += info.get_pages()[i] + " ";
      }
   }
   else {
      message = "Invalid annotations data";
   }

   alert(message);

   // Load the container we just saved
   container = codecs.load(xmlData, 1);

   // Show it
   this.showContainer("After load", container);
},

showContainer: function SiteLibrary_DefaultPage$showContainer(message, container) {
   var str = message + "\nContainer size: ";

   // Add the size
   var inch = 720;
   var width = container.get_size().get_width() / inch;
   var height = container.get_size().get_height() / inch;
   str += width + " by " + height + " inches" + "\n";

   // Add the objects
   str += "Contains " + container.get_children().get_count() + " objects(s)\n";
   for (var i = 0; i < container.get_children().get_count(); i++) {
      var annObj = container.get_children().get_item(i);

      str += "Object: " + annObj.get_friendlyName() + " at ";
      for (var j = 0; j < annObj.get_points().get_count(); j++) {
         var pt = annObj.get_points().get_item(j);
         var x = pt.get_x() / inch;
         var y = pt.get_y() / inch;
         str += "(" + x + ", " + y + ") ";
      }

      str += "\n";
   }

   alert(str);
},
参照

参照

AnnCodecsメンバ
Leadtools.Annotations.Core名前空間
アノテーションファイル