key-cc

思いついたら、書き込む自分への作業と情報のメモページ

MacOS X 10.7 Lion の Safari Ver. 5.1上でPreViewを使って PDF を表示する方法

2011-08-07 19:39:22 | デジタル・インターネット
Lion は便利ですね。Safari 5.1も便利ですね。

MacBook Pro (Late 2006)にインストールして使っています。

でも、突然Webブラウザ上でPDFがダウンロードもできないし、見れない、つまり開けない事態が発生しました。

Safari 上で PDF ファイルのリンク先に行ったとき、QuickTimeのアイコンが中央に出ているか、プラグインエラーの文字が出て、ダウンロードもできないし、PDF ファイルを開けない以上、どうにも出来ないです。

そこで、どうにかして Safari で PDF を開けるようにしたいのですが、PDF Browser PluginやSafariStandのインストールを試みるのですが、うまく表示できません。

Safari を使って PDF を開けないのは、結構不便です。

Safari が PDF を QuickTime で表示させているならば、QuickTime Pluginを外せば、問題解決といえばそうなのですが、Safari のプラグインからQuickTime Pluginを外すことによって、サポートやWWDCの QuickTime 映像など、Safari 上で見れないコンテンツも増えてしまいます。

もともとAppleのQuickTime Pluginは、その昔、専用のプレビューソフトを添付していました。
その影響で、Safari 上でPDF表示もQuickTime Pluginで開こうとしてしまいます。

原因は、Safari の MIME TYPEの修正だというところに行き着きました。
しかし、Safari の環境設定やシステム環境設定、念のためQuickTimeの環境設定も見たのですが、Safari の MIME TYPEの変更場所が見つかりませんでした。

ちょっと調べたところ、ヒントは、下記のページにありました。

Apple サポートコミュニティ:Lion の Safari で PDF の2ページ目以降が表示されない

これを参考に、Safari のファイルを消すやら、アレやこれやとやったのですが、基本的にSafari の設定問題の根本的な解決にたどり着きませんでした。

com.apple.quicktime.plugin.preferences をデスクトップに出したり、ゴミ箱に入れてデフォルト状態に戻しても、Safari で PDF が開けないという問題が解決されませんでした。

それで最後に記述されていたところが重要だと気づきます。

まず、ターミナルで下記を入力します。

macbookpro:~key$ defaults read com.apple.quicktime.plugin.preferences |less

すると、下記のように表示されます。
---- 
{
    WebPluginLocalizationName = "en_US";
    WebPluginMIMETypes =     {
        "application/pdf" =         {
            WebPluginExtensions =             (
                pdf
            );
            WebPluginTypeDescription = "PDF Image";
            WebPluginTypeEnabled = 1;
        };
        "application/sdp" =         {
            WebPluginExtensions =             (
                sdp
            );
            WebPluginTypeDescription = "SDP stream descriptor";
            WebPluginTypeEnabled = 1;
        };
        "application/smil" =         {
            WebPluginExtensions =             (
                smi,
                sml,
                smil
            );
            WebPluginTypeDescription = "SMIL 1.0";
            WebPluginTypeEnabled = 0;
        };
        "application/x-mpeg" =         {
            WebPluginExtensions =             (
                amc
            );
            WebPluginTypeDescription = "AMC media";
            WebPluginTypeEnabled = 1;
        };
        "application/x-quicktimeplayer" =         {
            WebPluginExtensions =             (
                qtl
:
---- 

※lessで開いているので、コマンド入力状態に戻る時はqを押してください。

上記のコマンドは、Safari などインターネット閲覧ソフトで利用するプラグインのMIME TYPEとしてQuickTimeにどういう設定が行われているのかを確認しているのです。
QuickTime Plugin の PDF の項目で”WebPluginTypeEnabled = 1”になっているので、Safari で PDF が開かないのです。そのため、” WebPluginTypeEnabled = 1 ” を " WebPluginTypeEnabled = 0 "にすると Safari で PDF が開かない問題を解決できると記述にあったのです。

ここからが問題なのです。

”~/ライブラリ/Preferences/com.apple.quicktime.plugin.preferences ”を何で修正するのかです。

UNIX系だという単純な発想で、viやexなどで作業しようと思うと、項目の値が見つかりません。

実際に、ターミナルで下記を入力しました。

macbookpro:~key$ vi ~/Library/Preferences/com.apple.quicktime.plugin.preferences |less

すると、下記のように表示されます。

---- 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>WebPluginLocalizationName</key>
<string>en_US</string>
<key>WebPluginMIMETypes</key>
<dict>
<key>application/pdf</key>
<dict>
<key>WebPluginExtensions</key>
<array>
<string>pdf</string>
</array>
<key>WebPluginTypeDescription</key>
<string>PDF Image</string>
<key>WebPluginTypeEnabled</key>
<true/>
</dict>
<key>application/sdp</key>
"com.apple.quicktime.plugin.preferences.plist" 1261L, 28974C
---- 

※viで開いているので、コマンド入力状態に戻る時は:q!と順に入力してください。

これは、viで.plistのファイルを直接修正を行おうとした時のターミナルの出力です。

見た通り、” WebPluginTypeEnabled = 0 ”という記述がどこにもないので、修正できません。

じゃあ、どうしましょ?ってことで、必要なものがでてきます。

それが

Xcode

です。

これを使うと拡張子 " .plist " の内容とパラメータに入れる値を直接修正できます。
(次の内容は、Xcodeのインストールが終わっている前提で話が続いていきます。)

Finderでホームフォルダのライブラリフォルダを開き、その中にあるPreferencesフォルダを開きます。

目的のcom.apple.quicktime.plugin.preferences.plistファイルをダブルクリックすると、こんな感じの画面が出ます。


Shot1

一番したの行の"WebPluginMIMETypes"の一番左側の三角印をクリックし、"application/pdf"の左側の三角印をクリックします。ようやく目的の”WebPluginTypeEnabled”の修正が可能になります。
画面としては、このような状態です。

Shot2

右側の"Values"をクリックして"YES"から"NO"に変え、保存をして作業完了です。

作業確認のため、ターミナルで下記を入力します。

macbookpro:~key$ defaults read com.apple.quicktime.plugin.preferences |less

すると、下記のように表示されます。
---- 

{
WebPluginLocalizationName = "en_US";
WebPluginMIMETypes = {
"application/pdf" = {
WebPluginExtensions = (
pdf
);
WebPluginTypeDescription = "PDF Image";
WebPluginTypeEnabled = 0;
};
"application/sdp" = {
WebPluginExtensions = (
sdp
);
WebPluginTypeDescription = "SDP stream descriptor";
WebPluginTypeEnabled = 1;
};
"application/smil" = {
WebPluginExtensions = (
smi,
sml,
smil
);
WebPluginTypeDescription = "SMIL 1.0";
WebPluginTypeEnabled = 0;
};
"application/x-mpeg" = {
WebPluginExtensions = (
amc
);
WebPluginTypeDescription = "AMC media";
WebPluginTypeEnabled = 1;
};
"application/x-quicktimeplayer" = {
WebPluginExtensions = (
qtl
:
---- 

※lessで開いているので、コマンド入力状態に戻る時はqを押してください。

PDFの項目で”WebPluginTypeEnabled = 1”が"WebPluginTypeEnabled = 0"に変わり、これでPDFをOS標準のPreview.appで表示できます。

これで、Safari で PDF が表示され、しかも PDF のダウンロードも出来るようになり、QuickTimeで配信されている映像の閲覧も出来るので、問題は全て解決できました。

Apple-Programm: Darwin, HyperCard, Ilife, Ichat, Expose, iTunes, Launchd, Safari, Finder, Boot Camp, Xcode, Logic Pro, Liste Von AppleApple-Programm: Darwin, HyperCard, Ilife, Ichat, Expose, iTunes, Launchd, Safari, Finder, Boot Camp, Xcode, Logic Pro, Liste Von Apple
価格:(税込)
発売日:
Mac OS X 10.7 Lion パーフェクトガイド Plus (MacPeople Books)Mac OS X 10.7 Lion パーフェクトガイド Plus (MacPeople Books)
価格:¥ 1,764(税込)
発売日:2011-08-04
MacOS X Lion パーフェクトガイド (100%ムックシリーズ)
価格:¥ 1,280(税込)
発売日:2011-08-11