見出し画像

FileMaker ProとmacOSでPDFを保存するとpngとjpegファイルも作成される話

マニュアルや書類などPDFファイルを大量に作成する方は多いかと思います。FileMakerを利用すると効率的にPDFファイルを保存し、チームで共有したり、バージョン管理したりできます。ただし、保存するファイルの容量には注意が必要です。保存されるのはPDFファイルだけじゃなかったというお話です。

FileMakerで作成されるAppではPDFファイルをオブジェクトフィールドに挿入して、中身をプレビューできるようしているケースがあります。

Assets.fmp12で
PDFを保存した画面

簡単にオブジェクトフィールドの設定の説明をします。

1から作るのもなんなので今回は新規作成時に選択できるテンプレートのAeestsを利用しています。

レイアウトモードにして、データの書式設定の次の用途に最適化でインタラクティブコンテンツを選択します。

レイアウトモードで表示したところ

次にブラウズモードでフィールドを右クリックして、PDFを挿入を選択します。
あるいは、該当のフィールドを選択してまま挿入メニューからPDFを選びます。

右クリックしたところ

PDFを表示できたでしょうか?

便利なんですが、一つ気になることが出てきます。
このままレコードが増えた時にファイルサイズも取り込んだ分大きくなるんじゃないか?ということです。
バックアップの容量も増えるし時間もかかるんじゃないかと思いますよね?
ファイル壊れたら取り出しできないし。。。

外部保存

ということで、ここで出てくるのがオブジェクトの外部保存という機能です。
そう、オブジェクトフィールドに保存しているように見せかけて実はデータベースの外にPDFを保存する機能がFileMakerには用意されています。

データベースの管理を開き、イメージフィールドのオプションをクリックして、データの格納タブでオブジェクトデータを外部に保存にチェックを入れます。
今回はオープン格納を選択してください。
OKをクリックしデータベース管理ウインドウを閉じます。

外部保存にするための設定

レコードが作成されているとデータの転送ダイアログが表示されます。
転送をクリックします。
この時、Assets.fmp12と同じフォルダに資産トラッカーというフォルダが自動で作成されます。
転送の概要が表示されるので確認してOKボタンをクリックします。
設定はここまでです。

保存されるデータの検証

では、資産トラッカーフォルダの中身を確認し見ます。

保存されたファイル

確かに、先ほどフィールドに保存されていたファイルがフォルダ内に書き出されています。やったね! これで安心。
と、ここで不可思議なものが目につきます。
同名のpngとjpegファイルが自動で作成されるのです。
なぜでしょう?

ヘルプを見てみます。

このページのPDFの項目に説明があります。

「フィールドがイメージ用に最適化されている場合、[挿入] メニュー > [ピクチャ...] を選択してファイルを選択します。フィールドにファイルのアイコンおよびファイル名 (Windows)、または次のようにファイルの最初のページがピクチャとして表示されます (macOS)。」

ということはMacクライアントでピクチャとして挿入した場合はpdfファイル以外のピクチャファイルが生成されるということなのだろうと推測できます。
はっきりそう書かれていませんが。
PDFとして挿入した場合には言及がありません。が、同様な仕組みが走っていると思われます。

どうやらPDFを画面上で操作したり、表紙だけ表示する仕組みとともに外部保存を利用するとフォルダ内にはPDFファイルだけが保存されるわけではない、ただしMacのみということになります。

恐ろしや、下手すると3倍の容量になるです、PDFファイルの。

ことの発端は2022/4/16のミンキーで参加者の方の
「見積書とかのPDFをFileMakerで作成して外部保存するとフォルダ内に余計なファイルができるんだけどそういうもの?」
という質問からでした。
どいうこと?とみんなで検証してえええとなったのでした。

なんで今まで気が付かなかったかというと「セキュア格納」ではどんなファイルが生成されているのか見た目わからないから、ということです。
「オープン格納」使ってないんですよ。
ミンキーで話が出た時はそんなことはない!とか言い切ってました。わはは。すみません。

ちなみに今回のケースはもしファイルをFileMaker Serverでホストしていたとした場合、ServerのOSがWindowsでもLinuxでも関係ありません。
あくまでもクライアントとしてmacOSから利用してる場合に発生します。

macOSクラアインとからの接続でも「ファイルとして挿入」しておけば余分なファイルは作成されません。画面上にはプレビューではなくファイルアイコンが表示されますが。

どうしてもFileMakerのApp内でPDFを表示したいでも余分なファイルは作成したくない場合は、Webビューアなどでの表示を考えてみるといいかもしれません。


この記事が気に入ったらサポートをしてみませんか?