CookBook

IM-PDFAutoConverterを使ってIM-LogicDesignerでファイルをPDFに変換する方法

投稿日:

このCookBookでは、IM-LogicDesignerのJavaScript定義で、IM-PDFAutoConverter for Accel PlatformのAPIを使用したPDF変換について紹介しています。

#note { padding: 20px; background-color: #dbf1f8; margin-bottom: 20px; } #warning { padding: 20px; background-color: #fcefdc; margin-bottom: 20px; }
注意
本サンプルは、IM-PDFAutoConverter for Accel Platform 2022Winter以降のバージョンが必要です。

完成イメージ

このCookBookのレシピ通りに実行し変換したPDFファイルの完成イメージは、以下の通りです。

以下の完成サンプルをダウンロードしてご活用ください。

https://dev.intra-mart.jp/wp-content/uploads/2023/02/cookbook_im_cookbook_8004-1.0.0.zip

immファイルを適用すると、パブリックストレージ配下に、サンプル実行に必要な以下のファイルが設置されます。

フォルダ名/ファイル名説明
%PUBLIC_STORAGE_PATH%パブリックストレージパス
  im_cookbook_8004 / pdfa_logic /IM-LogicDesigner PDF変換サンプル用フォルダ
   import / im_cookbook_8004.zipPDF変換用ユーザ定義、フロー定義をまとめたzipファイル
    data / sample.docxPDF変換サンプル用のdocxファイル

zipファイル< im_cookbook_8004.zip >を、IM-LogicDesignerのインポート画面からインポートしてください。
本サンプルのユーザ定義(JavaScript定義)では、IM-PDFAutoConverter for Accel Platformのスクリプト開発モデル用APIを使用しています。
ユーザ定義の詳細については「ユーザ定義タスク」、サンプル内で使用しているAPIについては「API」を参照してください。

レシピ

  1. サンプルのフロー定義のデバッグ画面を開く
  2. 入力値を設定し、デバッグを実行する
  3. 実行結果を確認する

1. サンプルのフロー定義のデバッグ画面を開く

・「サイトマップ」-「LogicDesigner」-「フロー定義一覧」をクリックします。

 
・「フローカテゴリ CookBook」-「im_cookbook_8004_flow」を選択し、「編集」ボタンをクリックします。

・「デバッグ」ボタンをクリックします。


2.入力値を設定し、デバッグを実行する

・「実行」ボタンをクリックします。

・「inputFilePath」に変換対象ファイル、「outputFilePath」に出力ファイルのパブリックストレージパスを設定し、「実行」ボタンをクリックします。
設定例は以下の通りです。

変数
inputFilePathim_cookbook_8004/pdfa_logic/data/sample.docx
outputFilePathim_cookbook_8004/pdfa_logic/data/out.pdf

#note { padding: 20px; background-color: #dbf1f8; margin-bottom: 20px; } #warning { padding: 20px; background-color: #fcefdc; margin-bottom: 20px; }
コラム
ユーザ定義の入出力値については「ユーザ定義タスク」を参照してください。
#note { padding: 20px; background-color: #dbf1f8; margin-bottom: 20px; } #warning { padding: 20px; background-color: #fcefdc; margin-bottom: 20px; }
コラム
設定例の「inputFilePath」には、パブリックストレージ配下に設置されたPDF変換サンプル用のdocxファイルを指定しています。

・「決定」ボタンをクリックします。

・ デバッグが開始されます。
正常にデバッグが終了した場合、その旨のメッセージが表示され、変数情報ペイン、および、コンソールペインが更新されます。

3.実行結果を確認する

・「outputFilePath」に指定した出力先に、PDFファイルが出力されていることを確認します。


PDFの変換処理に失敗した場合は、デバッグ実行時のユーザ定義の返却値「status」、および、「message」を確認してください。

以上で、全ての手順は終了です。

ユーザ定義タスク

im_cookbook_8004_user

・入力値 

im_cookbook_8004_user <object>
├─ inputFilePath <string>
└─ outputFilePath <string>

項目名必須/任意配列/リスト説明
inputFilePath必須stringなしPDF変換対象ファイルのパブリックストレージパス
outputFilePath必須stringなしPDF変換出力ファイルのパブリックストレージパス

・ 出力値

im_cookbook_8004_user <object>
├─ status <boolean>
└─ message <string>

項目名配列/リスト説明
statusbooleanなしtrue:PDF変換成功時
false:PDF変換失敗時
messagestringなしPDF変換成功時:空文字
PDF変換失敗時:エラーメッセージ

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

API

サンプル内で使用しているAPIについて示します。

1. IMPDFAutoConverter

IMPDFAutoConverterクラスの詳細については、「PDFAutoConverter APIドキュメント スクリプト開発モデル」を参照してください。

#note { padding: 20px; background-color: #dbf1f8; margin-bottom: 20px; } #warning { padding: 20px; background-color: #fcefdc; margin-bottom: 20px; }
コラム
文書情報を設定する場合は、スクリプトの27、32行目のコメントを外してください。
#note { padding: 20px; background-color: #dbf1f8; margin-bottom: 20px; } #warning { padding: 20px; background-color: #fcefdc; margin-bottom: 20px; }
コラム
セキュリティ情報を設定する場合は、スクリプトの35、41行目のコメントを外してください。
#note { padding: 20px; background-color: #dbf1f8; margin-bottom: 20px; } #warning { padding: 20px; background-color: #fcefdc; margin-bottom: 20px; }
注意
IMPDFAutoConverter.setPrinter(name)の引数の値は、PDFコンバータのプリンタ名に合わせて変更してください。デフォルトのプリンタ名は「YSS PDF Converter XP」です。

2. PdfaTempFiles

サンプル用の一時ファイルを操作するクラスです。

注意

本クラスは公開されているAPIではなく、サンプル用に用意したロジックになります。
そのため、サンプル用のimmファイルを適用していない場合、本クラスは使用できません。

Constructor

new PdfaTempFiles()

インスタンスオブジェクトを作成します。

Returns

生成されたインスタンスオブジェクト

Methods

・create(ext)

空のファイルを作成します。

NameTypeDescription
extStringファイル名を生成するために使用される接尾辞文字列(※1

※1:null、または、未指定時は、".tmp" が使用されます。

Returns

新規作成された空のファイルを示すFileオブジェクト

・copyFrom(srcFilePath, ext)

指定したファイルをコピーし、コピー先のファイルを返します。

Parameters

NameTypeDescription
srcFilePathStringコピー元の対象ファイルのパブリックストレージパス
extStringコピー先のファイル名を生成するために使用される接尾辞文字列(※1

※1:null、または、未指定時は、".tmp" が使用されます。

Returns

コピー先ファイルを示すFileオブジェクト

copyTo(tempFile, destFilePath)

指定したファイルを、指定先へコピーします。

Parameters

NameTypeDescription
tempFileFileコピー元の対象ファイル
destFilePathStringコピー先の対象ファイルのパブリックストレージパス

close()

一時ファイルを削除し、一時ファイルに関する操作を終了します。

-CookBook

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

IM-LogicDesignerを利用してIM-Workflowの到達処理で既処理者自動承認する方法

このCookBookでは、IM-LogicDesignerを利用して、 IM-Workflowの到達処理で既処理ユーザが自動承認する方法について紹介します。 完成イメージ サンプルのフローを申請します …

no image

intra-mart WebPlatform 7.2 の Docker を作成する

この CookBook では、intra-mart WebPlatform 7.2 の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 intra-mart WebPl …

カテゴリ単位にIM-FormaDesignerのアプリケーションを管理する方法

このCookbookでは、intra-mart Accel Platform 2019 Summerから利用可能なIM-FormaDesignerの新しいアプリケーション一覧を紹介します。 新しいアプ …

no image

PostgreSQL の Docker を作成する。

この CookBook では、PostgreSQL 検証用の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 PostgreSQL の Docker イメージを作成しま …

IM-FormaDesignerにてブラウザのツールバーに任意のタイトルを設定する方法

このCookBookでは、IM-FormaDesignerにてブラウザーのツールバーに任意のタイトルを設定する方法について紹介しています。 設定方法は下記の2パターンです。 「スクリプト」アイテムを使 …