JavaScript

Web Interface V5.0 ウェブサーバで実行する処理は、コマンドファイル中の JavaScript(ECMAScript)で記述します。Web Interface V5.0 に組み込まれているJavaScriptインタプリタは、Mozilla に実装されているもので、ECMA-262 改訂3版 (JavaScript 1.5 と同じ) に準拠しています。 Web Interface V5.0 は、標準仕様に加えて Web Interface V5.0 サーバの機能を利用するためのカスタムオブジェクトを定義しています。 以下にカスタムオブジェクトのメソッドとプロパティについて詳しく述べます。

ContentsManagerオブジェクト

Web Interface V5.0 ウェブサーバでは、データはすべてメモリ上の ContentStream というオブジェクトで操作します。 ContentsManager は、ContentStream に名前を付けて管理する機能を提供します。 ContentsManager は静的なオブジェクトで、newオペレータで新たに作成することはできません。 クライアントから送られてきたデータは、データに付けた名前で自動的に ContentsManager に登録されます。

メソッド

  • getContent(content_name)
    Function: 指定した名前のContentStreamを取得します。
    Input: content_name : 取得するContentStreamの名前
    Return value: 取得したContentStreamオブジェクトを返します。オブジェクトがない場合はnullが返ります。
  • addContent(content_name, content_stream)
    Function: 指定したContentStreamを指定した名前で登録します。
    Input: content_name : ContentStreamに付ける名前
    content_stream : 登録するContentStream
    Return value: 正常に登録できたかどうかを示す論理値を返します。true のとき正常です。
  • removeContent(content_name)
    Function: 指定した名前のContentStreamを登録から削除します。
    Input: content_name : 登録削除するContentStreamの名前
    Return value: 正常に削除できたかどうかを示す論理値を返します。true のとき正常です。
  • enumContent()
    Function: 登録されているContentStreamの一覧を取得します。
    Input: なし
    Return value: 登録されているContentStreamの名前の配列を返します。
  • loadContent(content_name, data_uri)
    Function: 各種リポジトリからデータを読み込み、ContentStreamを作成して、指定した名前でContentsManagerに登録します。
    Input: content_name : ContentStreamに付ける名前
    data_uri : データの格納場所を示すURI
    Return value: 正常に読み込んで登録できたかどうかを示す論理値を返します。true のとき正常です。

リポジトリには、ローカルなファイルシステムやネットワーク上のファイル、インターネット上のコンテンツ、データベースなどがあります。リポジトリのタイプ、リポジトリの実体のある位置、リポジトリ内のデータの位置はURIで指定します。現在サポートしているリポジトリは以下のとおりです。

  • file:///ローカルファイルパス — ローカルファイルシステム
  • http://サーバ/サーバ内パス — インターネット上のコンテンツ

プロパティ

  • size [ReadOnly]
    登録されているContentStreamの数を表します。

ContentStreamオブジェクト

Web Interface V5.0 サーバが操作するデータで、ContentsManagerオブジェクトで名前を付けて管理され、TransformerオブジェクトRendererオブジェクトなどの各種プロセッサオブジェクトへの入力やプロセッサオブジェクトからの出力となります。

メソッド

  • putData(string_data)
    Function: 指定した文字列をContentStreamに追加します。
    Input: string_name : 追加するデータ
    Return value: なし
  • getData()
    Function: ContentStreamの内容を文字列として取り出します。
    Input: なし
    Return value: 内容の文字列を返します。
  • clear()
    Function: ContentStreamの内容を空にします。
    Input: なし
    Return value: なし

プロパティ

  • length [ReadOnly]
    ContentStreamに格納されているデータの長さ(文字数)を表します。
  • type
    ContentStreamに格納されているデータのタイプを表します。クライアントプログラムとJavaScriptの間でデータのタイプを受け渡す必要がある場合に使用します。空以外の任意の文字列を設定することができます。

Responseオブジェクト

Responseオブジェクトは、サーバからクライアントに返す処理結果を表します。 クライアントにデータを返す場合は、ContentStream に名前を付けて Response に登録します。 サーバでの処理中にエラーを検出し、それをクライアントに通知するには、Fault を Response にセットします。

メソッド

  • put(result_name, result_data)
    Function: 指定したContentStreamを指定した名前でResponseに登録します。名前には、空以外の任意の文字列を設定することができます。
    Input: result_name : 結果データに付ける名前
    result_data : 結果データのContentStream
    Return value: 正常に登録できたかどうかを示す論理値を返します。true のとき正常です。
  • remove(result_name)
    Function: 指定した名前のContentStreamを登録から削除します。
    Input: result_name : 登録削除するContentStreamの名前
    Return value: 正常に削除できたかどうかを示す論理値を返します。true のとき正常です。
  • enumerate()
    Function: 登録されているContentStreamの一覧を取得します。
    Input: なし
    Return value: 登録されているContentStreamの名前の配列を返します。
  • setFault(fault_code, fault_reason, fault_detail)
    Function: サーバにエラーを通知します。setFaultを呼び出すと、サーバには SOAP Fault が返り、登録してあったデータは無効になります。
    Input: fault_code : SOAP Faultコード、Fault.FAULT_CODE_RECEIVERを使用する。
    fault_reason : エラーが発生した理由を表す文字列
    fault_detail : エラーの詳細を表す文字列
    Return value: なし

プロパティ

  • size [ReadOnly]
    登録されているContentStreamの数を表します。

Faultオブジェクト

Faultオブジェクトは、処理が失敗したときの情報を保持します。 ここで保持されるのは、SOAPリクエストの失敗を示すコードです。SOAP Fault を参照してください。

プロパティ

  • FAULT_CODE_VERSIONMISMATCH [ReadOnly]
    VersionMismatchのFaultコードを表します。
  • FAULT_CODE_MUSTUNDERSTAND [ReadOnly]
    MustUnderstandのFaultコードを表します。
  • FAULT_CODE_DATAENCODINGUNKNOWN [ReadOnly]
    DataEncodingUnknownのFaultコードを表します。
  • FAULT_CODE_SENDER [ReadOnly]
    SenderのFaultコードを表します。
  • FAULT_CODE_RECEIVERH [ReadOnly]
    ReceiverのFaultコードを表します。

Transformerオブジェクト

Transformerオブジェクトは、XML文書を変換する機能を提供します。現在サポートしている変換方式はXSLTだけです。

メソッド

  • Transformer(type, name)
    Function: コンストラクタです。指定したタイプと名前からTransformerオブジェクトを作成します。
    Input: type : Transformerのタイプ(現在指定できるのは'xslt'のみ)
    name : XSLTプロセッサの名前。以下のいずれかを指定できます。
    • 'xalan' — Xalanを利用します。
    • 'msxml' — MSXMLを利用します。
    • 'external' — AH Formatter で指定されている外部XSLTプロセッサを利用します。AH Formatter に外部XSLTプロセッサが指定されていない場合はエラーです。指定した内容は AH Formatter のオプション設定ファイルに保存し、サーバ側で環境変数 AXDS5_AXFSETTINGS を追加して、保存先パスを指定する必要があります。
    Return value: 作成したTransformerオブジェクトを返します。作成できなかった場合はnullが返ります。
  • transform(xml_src, xsl_style, result_type)
    Function: 指定したXMLドキュメントを指定したXSLTスタイルシートで変換し、変換結果をContentStreamとして得ます。結果タイプが指定されている場合はContentStreamにタイプを設定します。
    Input: xml_src : 変換するXMLドキュメント
    xsl_style : 変換に使うXSLTスタイルシート
    result_type : 変換結果に設定するデータタイプ
    Return value: 変換結果のContentStreamが返ります。
  • addParam(param_name, param_value)
    Function: XSLT変換パラメータを設定します。
    Input: param_name : 変換パラメータの名前
    param_value : パラメータの値
    Return value: なし
  • getParam(param_name)
    Function: 指定したXSLT変換パラメータの値を取得します。
    Input: param_name : 変換パラメータの名前
    Return value: パラメータの値を返します。指定したパラメータが設定されていない場合はnullが返ります。
  • removeParam(param_name)
    Function: 指定したXSLT変換パラメータを削除します。
    Input: param_name : 変換パラメータの名前
    Return value: 正常に削除できたかどうかを示す論理値を返します。true のとき正常です。
  • setParams(params_array)
    Function: XSLT変換パラメータをまとめて設定します。それまでに設定されていたパラメータはすべて削除されます。
    Input: params_array : 変換パラメータの名前をキーとしたパラメータ値の配列
    Return value: 正常に設定できたかどうかを示す論理値を返します。true のとき正常です。
  • enumParams()
    Function: 設定されているXSLT変換パラメータの名前の一覧を取得します。
    Input: なし
    Return value: 設定されている変換パラメータの名前の配列を返します。

プロパティ

  • type [ReadOnly]
    Transformerのタイプを表します。
  • name [ReadOnly]
    Transformerの名前を表します。
  • baseuri
    変換時に参照するエンティティのURIが相対指定の場合、サーバ側の基準となるパスを示します。例を以下に示します。
    var transformer = new Transformer("xslt");
    if (transformer == null) {
      throw ("Can't create transformer.");
    }
    transformer.baseuri="D:/My Documents/docbook-xsl-1.73.2/fo/";
    
    このパスには、スタイルシートからxsl:includeやxsl:importで参照されるスタイルシートや、XMLファイルの文書型宣言で記述されたDTDを置くことができます。

Rendererオブジェクト

Rendererオブジェクトは、XSL-FO、HTML/XHTML を描画する機能を提供します。描画フォーマットとして、PDF、SVG をサポートしています。

メソッド

  • Renderer(type, software_type, formatter_type)
    Function: コンストラクタです。指定したタイプのRendererオブジェクトを作成します。
    Input: type : Rendererのタイプ('pdf' または 'svg')
    software_type : ソフトウェア種別。組み合わせには AH Formatter V6 を使用するため"fo6"を指定してください。何も指定がない場合は、"fo6"を指定したのと同じになります。
    formatter_type : 組版種別('auto', 'html', 'xhtml', 'xmlcss', 'xslfo'のいずれか)。何も指定がない場合は、'auto'(自動)を指定したのと同じになります。
    Return value: 作成したRendererオブジェクトを返します。作成できなかった場合はnullを返します。
  • render(render_src)
    Function: 指定したFOまたはオフィス文書 HTML/XHTMLを描画します。描画フォーマットはコンストラクタで指定したタイプとなります。
    Input: render_src : 描画するドキュメント
    Return value: 描画結果のContentStreamを返します。
  • setOption(option_name, option_value)
    Function: 描画オプションを設定します。
    Input: option_name : オプションの名前
    option_value : オプションの値
    Return value: なし
  • getOption(option_name)
    Function: 指定した描画オプションの値を取得します。
    Input: option_name : 描画オプションの名前
    Return value: 描画オプションの値を返します。指定した描画オプションがない場合はnullを返します。
  • setOptions(options_array)
    Function: 描画オプションをまとめて設定します。
    Input: options_array : 描画オプションの名前をキーとしたオプション値の配列
    Return value: 正常に設定できたかどうかを示す論理値を返します。true のとき正常です。
  • getFormattedPages()
    Function: 組版したページ数を取得します。
    Input: なし
    Return value: 組版したページ数を返します。組版は開始ページ指定に関わりなく常に最初のページから行われます。
  • clear()
    Function: 組版エンジンおよび描画オプションをクリアします。
    Input: なし
    Return value: なし
  • setOptionFile(option_file_name, init_flag)
    Function: スクリプトでサーバに送った、AH Formatter が使用するオプション設定ファイルを指定します。
    Input: option_file_name : オプション設定ファイルの名前
    init_flag : trueの場合、設定を初期化してから設定ファイルを読み込みます(デフォルトはfalse)。
    Return value: なし

プロパティ

  • version [ReadOnly]
    AH Formatter のバージョンを表します。AHFCmd のコマンドラインオプション -v で表示されるバージョン情報と同じ文字列になります。
  • type [ReadOnly]
    Rendererのタイプを表します。
  • startpage
    描画を開始するページを表します。先頭ページは1です。初期値は1です。
  • endpage
    描画を終了するページを表します。0を指定すると最終ページまで描画します。初期値は0です。
  • exitlevel
    エラー発生時、処理を終了するレベルを表します。初期値は4です。
    1. 情報
    2. 警告
    3. 回復可能エラー
    4. 致命的エラー
  • axdsfologger [ReadOnly]
    エラーが発生した場合、エラー情報を表します。
  • measuretime
    描画処理にかかる時間を測定するかどうかをtrueまたはfalseで表します。初期値はfalseです。
  • elapsetime
    描画処理にかかった時間を表します。 measuretimeプロパティがtrueのとき、描画処理終了後に有効になります。

描画オプション

描画オプションはキーワードと値の対で表現され、描画方法を制御します。キーワードは AH Formatter のコマンドラインオプション AHFCmd の一部と同一です。詳細は AH Formatter のマニュアルを参照してください。

キーワード 機能
pdfver 文字列 出力するPDFのバージョンを指定します。
tpdf 論理値 タグ付きPDFを出力するかどうかを指定します
lpdf 論理値 リニアライズドPDFを出力するかどうかを指定します。
encrypt 数値 作成するPDFの暗号化時のキー長を指定します。
userpwd 文字列 PDFに設定するユーザパスワードを指定します。getOption() で値を取得することはできません。
masterpwd 文字列 PDFに設定するマスタパスワードを指定します。getOption() で値を取得することはできません。
npt 論理値 作成するPDFを印刷不可にします。
ncg 論理値 作成するPDFを変更不可にします。
ncc 論理値 作成するPDFの内容をコピー不可にします。
nca 論理値 作成するPDFの注釈やフォーム追加不可にします。
nff 論理値 作成するPDFのフォームフィールドの入力と署名を不可にします。
nab 論理値 作成するPDFのスクリーンリーダデバイスのテキストアクセスを不可にします。
nad 論理値 作成するPDFのページの挿入、削除、回転を不可にします。
pea 論理値 作成するPDFに埋め込み可能なすべてのフォントを埋め込みます。
peb 文字列 作成するPDFに埋め込み可能なフォントを埋め込むかどうかを、以下のいずれかで指定します。
  • part:指定されたフォントのみ(フォントは-peeで指定)
  • all:欧文基本14フォンとを除くすべてのフォント
  • base14:欧文基本14フォンとを含むすべてのフォント
pee 文字列 作成するPDFに指定したフォントを埋め込みます。
pesub 文字列 作成するPDFに指定したフォントを埋め込むとき、指定した値(パーセンテージ)以上の使用率ならフォントをすべて埋め込みます。使用率が値に満たない場合は使用している文字のみ部分的に埋め込みます。パーセント値には、単位なしの値または%値が指定できます(1.0=100%)
pef 論理値 フォント埋め込みに失敗したときにエラーを発行しないようにします。
peg 論理値 フォントにグリフがなかったときにエラーを発行しないようにします。
pex 論理値 PDF/X出力のときエラーがあっても、それを発行しないようにします。
ppa 数値 作成するPDFの印刷を許可するかどうかを指定します。
picc 数値 作成するPDFに格納するカラー画像の圧縮方法を指定します。
picg 数値 作成するPDFに格納するグレイスケール画像の圧縮方法を指定します。
picm 数値 作成するPDFに格納する白黒画像の圧縮方法指定します。
pjq 数値 画像をJPEGに変換するときの画質を指定します。
pcs 論理値 作成するPDF中のテキストとラインアートを圧縮しないようにします。
plr 論理値 相対アドレスで指定された外部へのリンクの方法を指定します。
prc 数値 作成するPDFのRGB色空間の変換方法を指定します。
prr 数値 ベクタイメージをラスタイメージに変換するときの解像度を指定します。
pcics 論理値 PDF/X、PDF/A出力のとき、含まれるRGB画像を自動的にCMYKに変換します。
p3da 論理値 3Dオブジェクトのインポートを有効にします。
pds 論理値 PDF中の署名フィールドに電子署名をします。
pdss 文字列 電子署名をするとき、使用する署名情報の名前を指定します。
pdsc 文字列 電子署名をするとき、使用する証明書情報の名前を指定します。
pdfheight 数値 出力PDFの高さを拡大縮小します。
pdfwidth 数値 出力PDFの幅を拡大縮小します。
svgver 文字列 出力するSVGのバージョンを指定します。
svggzip 論理値 gzip 圧縮された SVG を出力します。
svgea 論理値 作成するSVGに埋め込み可能なすべてのフォントを埋め込みます。
svgee 文字列 作成するSVGに指定したフォントを埋め込みます。
svgef 論理値 フォント埋め込みに失敗したときにエラーを発行しないようにします。
svgic 数値 SVGに直接格納できないラスタ画像形式のときの処理方法を指定します。
svgjq 数値 画像をJPEGに変換するときの画質を指定します。
svgrr 数値 ベクタイメージをラスタイメージに変換するときの解像度を指定します。

Messageオブジェクト

Messageオブジェクトは、電子メールで送受信されるテキストメッセージを構築します。

メソッド

  • addRecipient(recipient)
    Function: メッセージの受信者を追加します。
    Input: recipient : メッセージ受信者のアドレス
    Return value: なし
  • clearRecipients()
    Function: メッセージの受信者をクリアします。
    Input: なし
    Return value: なし
  • addAttachment(data_name, attachment)
    Function: メッセージの添付データを追加します。
    Input: data_name : 添付データ名
    attachment : 添付データのContentStreamオブジェクト
    Return value: なし
  • clearAttachments()
    Function: メッセージの添付データをクリアします。
    Input: なし
    Return value: なし

プロパティ

  • subject
    メッセージのサブジェクト文字列を表します。
  • sender
    メッセージの送信者のアドレスを表します。
  • body
    メッセージの本文を表します。

Transportオブジェクト

Transportオブジェクトは、Messageオブジェクトで構築したテキストメッセージを電子メールで配送します。

メソッド

  • send(message)
    Function: SMTPサーバを介してメッセージを送信します。
    Input: message : 送信するMessageオブジェクト
    Return value: 正常に送信できたかどうかを示す論理値を返します。true のとき正常です。

メール送信は、次のように行います。

var msg = new Message;
msg.addRecipient("foo@antenna.co.jp");
msg.addRecipient("bar@antenna.co.jp");
msg.sender = "me@antenna.co.jp";
msg.subject = "Result of conversion";
msg.body = "Succeeded to convert my document!";
var tran = new Transport;
tran.send(msg);


Copyright © 2005-2016 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.