PDF を追加

[PDF を開く] スクリプトステップで開いたファイルまたは [PDF を作成] スクリプトステップで作成したファイルに PDF ページを追加します。

オプション 

  • [次から:] では PDF ファイルの場所を指定します:

    • [ファイル] では PDF ファイルのパスを指定します。選択した場合、[ソースファイル] オプションを使用できるようになります。

    • [ソース] ではオブジェクトフィールドまたは変数の PDF ファイルを指定します。選択した場合、[ソース] オプションを使用できるようになります。

  • [ソースファイル] では [次から:] が [ファイル] の場合、PDF ファイルの 1 つ以上のパスとファイル名の一覧を定義します。スクリプトステップは一覧を検索して最初に見つけた PDF ファイルを使用します。パスには image パス接頭語のいずれかを使用する必要があります。ファイルパスの作成を参照してください。

  • [ソース] では [次から:] が [ソース] の場合、PDF ファイルを保存するオブジェクトフィールドまたは変数を指定します。

  • [パスワード:] は暗号化 PDF ファイルを開くために必要なパスワードを表すテキスト式です。PDF ファイルが暗号化されていない場合、このオプションは無視されます。

互換性 

製品 サポート
FileMaker Pro はい
FileMaker Go はい
FileMaker WebDirect 一部
FileMaker Server はい
FileMaker Cloud はい
FileMaker Data API はい
カスタム Web 公開 はい

起点バージョン 

26.0

説明 

このスクリプトステップは現在開いている PDF ファイルにソースの PDF ファイルのページを追加します。最初に [PDF を開く] スクリプトステップまたは [PDF を作成] スクリプトステップを使用して PDF ファイルを開くか作成してからこのスクリプトステップを使用する必要があります。

ソースの PDF ファイルのすべてのページを現在開いている PDF ファイルの末尾に追加します。この処理によってソースの PDF ファイルは変更されません。

このスクリプトステップを使用して複数の PDF ドキュメントを 1 つのファイルに結合できます。たとえば、生成されたレポートに標準的なページ (表紙、利用規約、または付録など) を追加することができます。

メモ 

  • このスクリプトステップを使用する前に PDF ファイルを開く必要があります。PDF ファイルが開いていない場合、このスクリプトステップはエラーコード 829 (「追加先の PDF ファイルが開いていません」) を返します。

  • 暗号化 PDF ファイルで、パスワードが入力されていないか正しくない場合、このスクリプトステップはエラーコード 831 (「無効な PDF パスワード」) を返します。

  • FileMaker WebDirect では、[次から: ファイル] オプションはサポートされません。

例 1 - 表紙のあるレポートの作成

新しい PDF ファイルを作成し、標準的な表紙を追加し、完成したドキュメントを保存します。

コピー
PDF を作成 [ ]
PDF を追加 [次から: ファイル ; 「標準の表紙.pdf」]
PDF を閉じる [保存先: ファイル ; 「レポート.pdf」]

例 2 - 複数の PDF ファイルの結合

「契約書」レイアウトの最初のレコードに移動し、「グローバル::結合済み PDF」の既存の PDF ファイルを開き、各レコードの「契約書::契約書 PDF」フィールドにある PDF ファイルを追加してから、最後に結合した PDF ファイルを閉じて「結合済み PDF」フィールドに保存します。

コピー
レイアウト切り替え [「契約書」 (契約書) ; アニメーション: なし]
レコード/検索条件/ページへ移動 [最初の]

PDF を開く [次から: ソース ; ソース: グローバル::結合済み PDF]
Loop [フラッシュ: 常に]
    PDF を追加 [次から: ソース ; ソース: 契約書::契約書 PDF]
    レコード/検索条件/ページへ移動 [次の ; 最後まできたら終了: オン]
End Loop

PDF を閉じる [保存先: ターゲット ; ターゲット: グローバル::結合済み PDF]

例 3 - パスワード入力が必要な暗号化 PDF ファイルの追加

メモリ内で PDF ファイルを作成してから、追加する暗号化 PDF ファイルのパスワードを入力するようにユーザに要求します。PDF ファイルが正常に追加された場合、現在のレコードを追加してから PDF ファイルを閉じてファイルパスに保存します。それ以外の場合はエラーメッセージが表示され、メモリ内の PDF ファイルはローカル変数に保存されてから破棄されますが、スクリプトが終了するとその変数は消去されます。

コピー
エラー処理 [オン]
PDF を作成 [ ]

カスタムダイアログを表示 ["機密情報 PDF のパスワード" ; $inputPassword]

PDF を追加 [次から: ファイル ; 「機密情報の付録.pdf」 ; パスワード: ••••••••]
変数を設定 [$errorCode ; 値: Get (最終エラー)]

If [$errorCode ≠ 0]
    If [$errorCode = 831]
        カスタムダイアログを表示 ["認証に失敗しました" ; "機密情報ドキュメントのパスワードが正しくありません。"]
    Else If [$errorCode = 832]
        カスタムダイアログを表示 ["アクセスが拒否されました" ; "PDF のセキュリティ設定でコピーが禁止されています。"]
    Else
        カスタムダイアログを表示 ["エラー" ; "ドキュメントを追加できませんでした。エラーコード: " & $errorCode]
    End If
    
    PDF を閉じる [保存先: ターゲット ; ターゲット: $discardPDF]
    現在のスクリプト終了 [テキスト結果: "失敗"]
End If

レコードを PDF として保存 [記憶する ; 保存先: 現在開いている PDF ; 現在のレコード]

PDF を閉じる [保存先: ファイル ; 「機密解除のレポート.pdf」 ; フォルダを作成: オフ]