Kofax Power PDF for MacというURLスキームに対応していないアプリを対応させるためのメモ。このアプリ限定の手順ではないので他のアプリへも応用可能だと思います。

プロトコルハンドラ用のアプリケーション作成

AppleScriptを使ってKofax Power PDF for MacでPDFファイルを開くスクリプトを作成する。スクリプトエディタで以下のスクリプトを入力。

on open location theURL
	set pdfPath to do shell script "echo " & quoted form of theURL & " | sed 's/kofaxpdf:\\/\\/open\\?file=//g'"
	
	if (do shell script "test -f " & quoted form of pdfPath & " && echo true || echo false") is "true" then
		do shell script "open -a 'Kofax Power PDF for Mac'.app " & quoted form of pdfPath
	else
		display dialog "ファイルが見つかりません: " & pdfPath buttons {"OK"} default button "OK"
	end if
end open location

このスクリプトはkofaxpdf://open?file=/path/to/file.pdfで呼び出さると、ファイルパスを抽出しそのファイルを指定してKofax Power PDF for Macを起動するもの。スクリプトを保存し、ファイルメニューの書き出すでアプリケーションとして書き出す。

このアプリケーションがカスタムプロトコルを処理することになる。

Info.plistの編集

  • Finderで上記で作成したアプリケーションを右クリックしパッケージの内容を表示を選択する
  • Content/Info.plistを開き以下の内容を追加する
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleURLName</key>
			<string>MyApp Protocol</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>kofaxpdf</string>
			</array>
		</dict>
	</array>

これによりkofaxpdf://というカスタムプロトコルがこのアプリケーションに関連付けられる。ここでいちどこのアプリケーションを起動しておく。

ここまでの手順で以下のようなリンクをクリックするとKofax Power PDF for MacでPDFファイルを開けるようになる。

<a href="kofaxpdf://open?file=/path/to/file.pdf">Open in Preview</a>