FileMakerでPDFを作成し、オブジェクトフィールドに保存したい場合、「あれ?保存されてない?」というときに少しこちらの記事を読んでみてください。
よくある事例
PDFが指定の場所に出力されていない
パスの書き方を見直しましょう。
出力するフォルダを編集する際、直に名前を書いたりしていませんか?
関数を利用する
カスタム関数を作る
固有のフォルダに出力したい場合は、カスタム関数にフォルダ名を編集しておくのも直書きでのミスを防げます。
作ったカスタム関数を、フィールド設定で使います。
出力されたけど、オブジェクトフィールドに保存されていない
スクリプトでオブジェクトフィールドに移動しましたか?
PDFを保存するフィールドは作成してあるけれど、「PDF を挿入」ステップを使う場合は、フィールドに移動しておきます。
レイアウトに出力先のオブジェクトフィールドがありますか?
フィールドに移動をする場合、そのレイアウトにフィールドがないと移動できないので、移動の段階でエラーになり、結果的に次のPDF保存のステップがエラーになります。
レイアウトのオブジェクトフィールドはPDFモードに設定されてますか?
盲点ですが、レイアウトに配置したオブジェクトフィールドは、書式設定で「インタラクティブコンテンツ(PDF、MP3など)」に設定する必要があります。
出力したファイルの削除
削除は、今回の出力・保存とは直接関係ないですが、後から「あ、なんでこのファイルがパソコンに残ってる?」となりがちなので、追加で書いておきます。
意外と忘れがちですが、オブジェクトフィールドに保存するために一旦FileMaker外に出力したファイルを削除していますか?
テンポラリパスにファイルを出力した場合はFileMakerアプリケーションを閉じた際に自動的に削除されますが、それ以外の場所に出力した場合、ずっとファイルが残っています。
昨今は何かのトラップで自分の端末の中身が狙われる時代です。
保存し終わったらしっかりと削除しておきましょう。
以下は、ver.18以上で提供されている、「ファイルを削除」ステップの利用例です。
ご利用のFileMakerのバージョンが17以下の場合は、「レコードのエクスポート」ステップを、何も出力フィールドを指定しない方法で実行すると削除されます。
この時、エラー処理をオフったままだとエラーダイアログが表示されてしまうので、意図的にエラーメッセージが表示されないようにします。
オンにしたら、処理終了後オフっておくことをお忘れなく。
全体的なスクリプト
表紙PDFをつけるかどうかのダイアログを表示して見積書を出力するスクリプト例を貼っておきます。
一つのスクリプト例なので、他にも色々試してみてください。
では、解決の糸口になることを祈って!