話題 15  文献検索ソフトとApplescript

論文等の資料が貯まってくると, なんとかコンピュータで効率良く管理できないものかと考えて, データベースにソフトに手を染めたのが ことの始まり, という方も多いのではないかと思います。文献検索は, 住所録とともにもっともデータベースソフトに適した題材です。構造も単純ですから, すぐに完成します。


昔は何千件の論文のデータを手入力した, 大変な”努力家”もおられました。奥様にも入力を手伝ってもらったということです。しかし, 普通の人は こんなことをしていては続きません。(^.^)

最近は, 外国の論文は無料で検索, downloadできるサイトもありますから, それをFMに取り込めば抄録までのデータ収集は随分楽になりました。日本語の医学文献は, 有料ながら, 医学中央雑誌で検索, downloadできます。

http://www.jamas.or.jp


ところがどうしても, 抄録でなく, 原著を読みたい, 見たい, と思うことが多々あります。とくに皮膚科では, 臨床写真( 皮疹, 組織の画像 )が ないと,論文の主張が伝わってきません。

旧来のやりかたなら, 目的の文献情報 ( 雑誌名, 巻数, ページ) を探し出した上で, その論文が掲載された雑誌を書棚から探して, 論文を読む, ということになるのですが...これががだんだん面倒くさくなってきます。


最近は 多くの雑誌で, PDFという形で論文を閲覧, downloadできるようになりました。学会雑誌はほとんど無料で単一論文のPDFをdownloadすることができることが多いと思います。Filemaker v12からは インタラクティブ (話題 08参照)にPDFが取り込めますので 単一論文のPDFを ひとつのレコードとしてFilemakerで論文検索ソフトをつくることができます。ただし実際にやってみると, Filemakerに取り込まれた PDF は Acrobat(PDFを読むソフト)で読むときのような快適さはありません. それと, 大量のPDFを取り込むと, ヘビが象を飲み込んだような印象で, 動きが遅く,Filemaker, Acrobat 両方の軽やかさが失われてしまいます。 私は, あるとき突然, FilemakerがクラッシュしてPDFごと消えてしまう経験をしました。



そこで, 文献PDFは 独立Folderに保存して, Filemakerからそこに読みにゆくのが現実的で, 管理もしやすく安全です。 Scriptの“URLを開く”stepを使えば, Filemakerからの指示で 目的のPDFをAcrobat Pro, Acrobat Readerで開き,閲覧するという自動化が可能です。(話題 09参照)


すでにデジタル化された個別の論文が手元にあるときは, 上記の方法でいいのですが, 従来型の紙の雑誌の形で発行させている皮膚科学雑誌では, PDFを作成することから始めなければなりません。 まず, 雑誌を裁断してページをきれいにScanして デジタル化(PDF)にします。




上左の写真は PLUSの断裁機 (3万円前後) で 100ページくらいの雑誌なら 一発で ざくっと背骨を裁断します。その個々のページをScannerに読み込ませます。上右は Fujituの ScanSnap, 最新のものは すばやく裏表同時にscanして 短時間できれいなPDFを作成してくれます。論文雑誌のPDFを作成するときに留意することは, 雑誌の背骨を切るとき, しっかりした裁断機がお勧めです。カッターナイフでは, けがの心配がありますし, 厚い雑誌には不向きです。またページの面積を広くしようとして背骨を細く切ると, 製本のノリがページに残って, 絡み, ページ飛びの原因になります。 また薄くて光沢のある紙はScannerに絡んでトラブルが多いので注意が必要です。 またPDFのページ数と実際の論文のページ数を一致させねばなりません。表紙, コマーシャルページを削除したり,空白ページを追加して調整します。この作業には有料のAcrobat(Acrobat Pro)での作業が必要です。

多くの論文雑誌では, 1巻(1年分)ごとに通しページを付けていますので, 1巻の雑誌から 400件前後の論文が入った,1000 〜 2000ページの分厚い1本のPDFができあがることになります。医学中央雑誌でも, このページ数で検索するようになっています。


Filemakerで 見たい文献の情報 ( 雑誌名, 巻数, ページ) が分かったら, 2000ページもある大きなPDFを開いて目的ページに移動する, という操作を自動化しなければなりません。 “任意のページに移動する”という操作が簡単ではありません。その目的には”AppleScript”という MacOS標準装備のソフトを利用します。Filemaker から AppleScriptに データを渡して, それを Acrobatに伝達して, 目的のPDFを開いて, さらに 目的ページに移動するという操作を自動化できます。




Sample (FMsample15)

Bunken2000.fmp12 の画面に出ているJournal名, 年, ページなどのField値をAppleScriptに引き渡して原著論文PDFを開きます。sample PDFは”Bunken_Denshibuhin”Folderに入っています。Bunken2000.fmp12 と ”Bunken_Denshibuhin”Folderは 同じ階層に配置してください。zip圧縮を解凍したら, そのままの位置でうまく作動するはずです。最初, Folder名は 日本語にしていたのですが, Windowsでdownloadすると文字化けすることが判明して, 半角文字に変更しました。

Macでは “OpenPDF”ボタンで雑誌型のPDF, 単一論文型PDFかを判断されて目的ページまで移動できます。( サンプルレコード1 〜 4までは雑誌型, 5,6は単一論文型です)  Windowsでは 単一論文型PDF のみ開くことができます。“OpenPDF_URL”ボタンのみ動作します。


まず, FMで目的の文献を抽出します。



Script: AppleScript_PDF の中の “AppleScriptを実行” step

Acrobatに実装されたApplescript対応機能は 基本機能しか使ってないので, Applescript対応機能が貧弱な 無料ソフトの”Acrobat Reader” でも動きます。



ソフトFileの名前は  "Bunken2000.fmp12" になっているはずです。

tell application "FileMaker Pro Advanced ” のところで, “Filemaker Pro Advanced”の部分を 各自のパソコンで 実際に稼働するFilemakerに変更しなければなりません。 sampleでは "FileMaker Pro Advanced "になっているはずですが, "FileMaker Pro"でもOKです。修正するときは “Filemaker Pro Advanced” の最後に “Filemaker Pro Advanced  ” のように空白をいれると AppleScriptは以下の画面を出します。そこで動かすFilemakerを指定してください。これが合っていないとエラーになります。Application一覧表に名前が見つからねば,左下の”ブラウズ”ボタンから指定します。

必要があれば, Acrobatに関しても, (tell application “Adobe Acrobat” の部分) 同様な修正を行います。

AppleScriptに Field値を正確に伝えるには 以下の値をGlobal値にしておく必要があります。(調整済)

PDF Fileの パス....f92_Path_Bunken_GL

PDF Fileの名前....f94_Journal_Name_GL

PDFのページ.......f93_FirstPage_GL




↓うまく動くと sample PDFの指定ページが開きます。



Applescriptはインタープリタ型のプログラミング言語なので,その動作は お世辞にも速いとは言えません。一呼吸置いてPDFが開きます。 またPDFのあるページが開いているときに, さらに 同一PDFの別のページを開こうとすると, うまく開かないときがあります。そのときはそのPDFをいったんCloseすると,うまく開けるようです。

AppleScriptはMacOSの進化とともに高度化して来ており, 最近ではJavaScriptでも記述できるようになりました。またFileMakerとの関係で言えば, 最近のFilemakerほど連携は安定して,トラブルは少ない印象を受けます。


追記....2019年.3月

(1)最近のFilemakerで 上記sample fileを動かすと, PDF Fileを開くためにAppleScriptを実行しようとしたときに, “Filemakerのアクセス権の違反があります”というエラー messageがでることがあります。(少なくともv13 までは出ません。v16では出ます。最近のFilemakerは機能が増えて, セキュリティが厳格化されたためか?) これが出ると, PDF Fileを Acrobatで開くことができません。


このときは

v16の場合, Filemakerの上のメニューの “ファイル” -> “管理” -> “セキュリティ” から拡張アクセス権セットの “編集” で “Apple Event およびActive XによるFilemaker操作の実行と許可...”に チェックを入れて終了します。これで PDFを開くことができます。

v18でも ほぼ同じ操作ですが, 少し画面構成が変えられています。”セキュリティ”の画面から 左下の”詳細設定”ボタンを押して先に進んでください。“Apple Event およびActive XによるFilemaker操作の実行と許可...”に チェックを入れるのは同じです。


(2) パソコンのなかに複数のVersionの Filemakerが install してあると, Fileを動かしているFilemakerとApplescriptで認識されるFilemakerが 異なることも起こりえます。そうなると, 以下のようなエラーがでるかもしれません。



 
Sample File のdownload (.fmp12)Tech_15_files/sample15.zip