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 ファイルが開いた後、次のことができます:

このワークフローは表紙、レポートデータ、および付録など、複数のソースのページを組み合わせて 1 つにまとめた複雑な PDF ドキュメントを作成するのに便利です。

メモ 

  • 同時に開くことができる PDF ファイルは 1 つのみです。PDF ファイルがすでに開いている場合、このスクリプトステップはエラーコード 833 (「PDF ファイルはすでに開いています」) を返します。

  • 元の PDF ファイルは [PDF を閉じる] スクリプトステップを使用して変更を同じ場所に保存しない限り、変更されません。

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

  • 次のいずれかが発生すると開いている PDF ファイルおよび保存されていない変更は失われます:

    • 現在の FileMaker クライアントのセッションが終了する

    • PDF ファイルを開いたスクリプトを含む FileMaker Pro ファイルが、開いている PDF ファイルを閉じずに閉じられる

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

例 1 - 既存の PDF ファイルを開いて変更

現在のディレクトリにある既存の PDF ファイルをパスとファイル名「image:既存のレポート.pdf」を使用して開き、現在のレコードを追加し、変更されたバージョンを「image:更新済みレポート.pdf」に保存します。

コピー
PDF を開く [次から: ファイル ; 「既存のレポート.pdf」]

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

PDF を閉じる [保存先: ファイル ; 「更新済みレポート.pdf」 ; フォルダを作成: オフ]

例 2 - パスワードで暗号化 PDF ファイルを開く

オブジェクトフィールドに保存されているパスワードで保護された PDF ファイルを開き、別の PDF ファイルのページを追加し、結果をファイル名「更新済み契約書.pdf」でグローバル変数に保存します。

コピー
レイアウト切り替え [「契約書」(契約書) ; アニメーション: なし]

PDF を開く [次から: ソース ; ソース: 契約書::契約書 PDF ; パスワード: ••••••••]

PDF を追加 [次から: ファイル ; 「付録.pdf」]

PDF を閉じる [保存先: ターゲット ; ターゲット: $$modifiedPDF ; ファイル名: "更新済み契約書.pdf"]

例 3 - エラー処理とともに PDF ファイルを開く

PDF ファイルを開いて計算を使用してエラーを処理し、エラーコードをわかりやすいメッセージにマッピングし、[PDF をキャンセル] スクリプトステップで開いている PDF を保存せずに閉じます。

コピー
エラー処理 [オン]

レイアウト切り替え [「契約書」 (契約書) ; アニメーション: なし]

変数を設定 [$pdfFilePath ; 値: "image:契約書.pdf"]

PDF を開く [次から: ファイル ;  「$pdfFilePath」; パスワード: ••••••••]

変数を設定 [$errorCode ; 値: Get (最終エラー)]

変数を設定 [$errorMessage ; 値:
    Case (
        $errorCode = 0 ; "" ;
        $errorCode = 5 ; "FileMaker WebDirect ではファイル操作はサポートされていません。代わりにオブジェクトフィールドまたは変数を使用してください。";
        $errorCode = 830 ; "PDF ファイルが見つからないか、無効な形式です。";
        $errorCode = 831 ; "暗号化 PDF ファイルのパスワードが正しくありません。";
        $errorCode = 832 ; "PDF ファイルのセキュリティ設定により変更できません。";
        $errorCode = 833 ; "別の PDF ファイルがすでに開いています。まずそれを閉じてください。";
        "PDF を開く際の原因不明のエラー: " & $errorCode
    )
]

If [$errorCode ≠ 0]
    PDF をキャンセル
    カスタムダイアログを表示 ["PDF エラー" ; $errorMessage]
    現在のスクリプト終了 [テキスト結果: "失敗"]
End If

PDF を追加 [次から: ソース ; ソース: 契約書::契約書 PDF]

PDF を閉じる [保存先: ファイル ; 「$pdfFilePath」]