IM-PDFDesigner for Accel Platform プログラミングガイド 第21版 2023-10-01

1. IODファイル出力(単票形式 IODOC )

単票形式 IODOC を使用し、IODファイルを出力するタスクです。

構成 ユーザ定義
スタンドアローン構成 im_cookbook_8005_user_iodoc
分散構成 im_cookbook_8005_user_iodoc_rest
../../../../_images/iodoc_1.png

1.1. 入力値

im_cookbook_8005_user_iodoc/im_cookbook_8005_user_iodoc_rest <object>
├─ layoutFilePath <string>
├─ datFilePath <string>
└─ outputIodFilePath <string>
項目名 必須/任意 配列/リスト 説明
layoutFilePath 必須 string なし IODOC レイアウトファイルのパブリックストレージパス
datFilePath 必須 string なし DAT形式データファイルのパブリックストレージパス
outputIodFilePath 必須 string なし 出力IODファイルのパブリックストレージパス

コラム

DAT形式データファイルのフォーマットについては「 データファイル 」を参照してください。

注意

DAT形式データファイル内で、画像データのファイルパスを指定する場合は、絶対パスで指定してください。

サンプル用の画像データは、パブリックストレージ配下に設置されたサンプル用データフォルダ内にあります。

1.2. 出力値

im_cookbook_8005_user_iodoc/im_cookbook_8005_user_iodoc_rest <object>
├─ status <boolean>
└─ message <string>
項目名 配列/リスト 説明
status boolean なし
true:IOD出力成功時
false:IOD出力失敗時
message string なし
IOD出力成功時:空文字
IOD出力失敗時:エラーメッセージ

1.3. スクリプト

次は、ユーザ定義「im_cookbook_8005_user_iodoc」のスクリプトです。

サンプル内で使用しているAPIについては「 API 」を参照してください。

コラム

ユーザ定義「im_cookbook_8005_user_iodoc_rest」のスクリプトの場合、20行目が次に変更となります。

const iodoc = new IODocRemote(input.layoutFilePath, "");
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
 * run.
 *
 * @param input {Object} - task input data.
 * @return {Object} task result.
 */
function run(input) {

  try {
    if (!input.layoutFilePath) {
      throw new Error("レイアウトファイルパスにnull、または、空文字が指定されています。");
    }
    if (!input.datFilePath) {
      throw new Error("DAT形式データファイルファイルパスにnull、または、空文字が指定されています。");
    }
    if (!input.outputIodFilePath) {
      throw new Error("出力IODファイルパスにnull、または、空文字が指定されています。");
    }

    const iodoc = new IODoc(input.layoutFilePath, "");

    /* DAT形式データファイルを設定 */
    iodoc.setDAT(input.datFilePath);

    /* IODファイルを生成 */
    const result = iodoc.toIOD(input.outputIodFilePath);

    if (result >= 0) {
      return {
        status: true,
        message: ""
      };
    } else {
      return {
        status: false,
        message: "ErrorCode[" + result + "] ErrorMessage[" + iodoc.getMessage() + "]"
      };
    }
  } catch (error) {
    return {
      status: false,
      message: error.message
    };
  }
}