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

3. PDFファイル出力(IODファイル連結)

IOIntegration クラスを使用し、IODファイルを連結後、PDFファイルを出力するタスクです。

構成 ユーザ定義
スタンドアローン構成 im_cookbook_8005_user_iointegration
分散構成 im_cookbook_8005_user_iointegration_rest
../../../../_images/iointegration_1.PNG

3.1. 入力値

im_cookbook_8005_user_iointegration/im_cookbook_8005_user_iointegration_rest <object>
├─ iodFilesPath <string[]>
└─ outputPdfFilePath <string>
項目名 必須/任意 配列/リスト 説明
iodFilesPath 必須 string 配列 連結用IODファイルのパブリックストレージパス群
outputPdfFilePath 必須 string なし 出力PDFファイルのパブリックストレージパス

3.2. 出力値

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

3.3. スクリプト

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

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

コラム

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

const iointegration = new IOIntegrationRemote();

コラム

文書情報を設定する場合は、スクリプトの25、28行目のコメントを外してください。

コラム

セキュリティ情報を設定する場合は、スクリプトの31、35行目のコメントを外してください。

 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
46
47
48
49
50
51
52
53
54
55
56
57
/**
 * run.
 *
 * @param input {Object} - task input data.
 * @return {Object} task result.
 */
function run(input) {

  try {
    if (!input.iodFilesPath) {
      throw new Error("IODファイルパス群にnullが指定されています。");
    }
    if (!input.outputPdfFilePath) {
      throw new Error("出力PDFファイルパスにnull、または、空文字が指定されています。");
    }

    const iointegration = new IOIntegration();

    /* 結合するIODファイルを追加 */
    input.iodFilesPath.forEach(function(iodFilePath) {
      iointegration.add(iodFilePath);
    });

    /* 文書情報を設定 */
    /* iointegration.defineTitle("タイトル");
    iointegration.defineSubTitle("サブタイトル");
    iointegration.defineAuthor("作成者");
    iointegration.defineApplication("アプリケーション"); */

    /* セキュリティ情報を設定 */
    /* iointegration.setOpenPassword("open");
    iointegration.setSecurityPassword("sec");
    iointegration.printSecurity("PRINT_DISABLE");
    iointegration.modifySecurity("MODIFY_DISABLE");
    iointegration.copySecurity("COPY_AND_ACCESSBILITY_DISABLE"); */

    /* PDFファイルを生成 */
    const result = iointegration.toPDF(input.outputPdfFilePath);

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