Pantherでサイズ小さめPDFの作成
未だにPanther(MacOS X v10.3)でウィンドウ切り替えのキーボードショートカットが効かずに困っているoshoです。なんでじゃー
それと並んで困っていたPDFの作成についてですが、なんとか解決できましたのでご報告します。以前より多少ファイルサイズが大きくなるものの(A4テキストで100k強ぐらい、かな)、作成後にファイル名を付け直さなくて良かったり、作成したPDFでテキスト検索が可能だったりと、Ghostscriptを用いて作ったPDFよりも実用的なものが作れるようになりました。
理屈は簡単。Pantherでpstopdfというコマンドが追加されました。その名の通り、PostScriptファイルをPDFファイルに変換するコマンドです。プレビューがPSファイルを開けるようになりましたよね。このコマンドがその機能の実体だと思われます。
また、プリントダイアログでPostScript形式でのファイル保存が出来るようになりました。
これらの新機能と、特定のフォルダにファイルが作成するとあらかじめ指定しておいたAppleScriptを実行させる機能を組み合わせて、アプリケーションのプリントダイアログでPSファイルをpdfoutフォルダに保存すると、pstopdfを実行するAppleScriptが自動的に起動され、pdfoutフォルダにPDF化されたものが出来上がる、という仕組みを作ります。
※プリンターが使えるようになっていることが条件です。ダミーでも良いのでプリンターをセットアップしておきます。モノクロのプリンターでも、PDF化の場合はカラーで出来るみたいです。
※pstopdfではリュウミンLightなどの日本語フォントは変換できない、とMYCOM PCWEBのPanther特集に書いてありました。アウトラインフォントとして埋め込めば可能らしいです。私にはよく分かりません。
まず、やることを箇条書きにしてみます。
こんな感じです。
ここでは、出力フォルダは/users/Shared/pdfwrite/pdfoutとし、Perlスクリプトは/users/Shared/pdfwrite/binに置くものとします。
各手順の詳細は以下の通りです。
これで準備が整いました。適当なアプリケーションからPS出力をしてみましょう。やり方は、
さあ、これで出来上がりです。出力用フォルダを開いてみましょう。サイズの大きなファイルを出力した場合は、多少時間がかかるかもしれません。待っていれば現れるはずです。
手順は多いですが、一度出来上がってしまえば簡単です。標準のPDFを作る仕組みと同じ手順で出来ますから分かりやすいですし。おすすめですよ~
ちなみに。滅多にこんなことしないのにこれだけ準備するのはめんどくさいという場合は、PS出力したファイルをプレビューで開くと、ファイルメニューからPDFで書き出せます。プレビュー、良い感じで高機能化してて、良いですね。
それと並んで困っていたPDFの作成についてですが、なんとか解決できましたのでご報告します。以前より多少ファイルサイズが大きくなるものの(A4テキストで100k強ぐらい、かな)、作成後にファイル名を付け直さなくて良かったり、作成したPDFでテキスト検索が可能だったりと、Ghostscriptを用いて作ったPDFよりも実用的なものが作れるようになりました。
理屈は簡単。Pantherでpstopdfというコマンドが追加されました。その名の通り、PostScriptファイルをPDFファイルに変換するコマンドです。プレビューがPSファイルを開けるようになりましたよね。このコマンドがその機能の実体だと思われます。
また、プリントダイアログでPostScript形式でのファイル保存が出来るようになりました。
これらの新機能と、特定のフォルダにファイルが作成するとあらかじめ指定しておいたAppleScriptを実行させる機能を組み合わせて、アプリケーションのプリントダイアログでPSファイルをpdfoutフォルダに保存すると、pstopdfを実行するAppleScriptが自動的に起動され、pdfoutフォルダにPDF化されたものが出来上がる、という仕組みを作ります。
※プリンターが使えるようになっていることが条件です。ダミーでも良いのでプリンターをセットアップしておきます。モノクロのプリンターでも、PDF化の場合はカラーで出来るみたいです。
※pstopdfではリュウミンLightなどの日本語フォントは変換できない、とMYCOM PCWEBのPanther特集に書いてありました。アウトラインフォントとして埋め込めば可能らしいです。私にはよく分かりません。
まず、やることを箇条書きにしてみます。
- pstopdfを実行するPerlスクリプトの作成
- pstopdfを呼び出すAppleScriptの作成
- PSおよびPDFを出力するフォルダの作成
- 上記フォルダにファイルが書き込まれた場合にAppleScriptを自動実行する設定
こんな感じです。
ここでは、出力フォルダは/users/Shared/pdfwrite/pdfoutとし、Perlスクリプトは/users/Shared/pdfwrite/binに置くものとします。
各手順の詳細は以下の通りです。
- pstopdfを実行するPerlスクリプトの作成
mypstopdfというPerlスクリプトを作成します。- 以下の内容のテキストファイルを作成するか、ダウンロードして、/users/Shared/pdfwrite/binに置いてください。作成する場合は改行コードに注意。UNIX形式(LF)でないと動きません。
#!/usr/bin/perl
while (-z $ARGV[0]) {
}
exec 'pstopdf ' . $ARGV[0]; - ターミナルを起動し、
chmod +x /user/Shared/pdfwrite/bin/mypstopdf
と入力しリターンキーを押してください。
- 以下の内容のテキストファイルを作成するか、ダウンロードして、/users/Shared/pdfwrite/binに置いてください。作成する場合は改行コードに注意。UNIX形式(LF)でないと動きません。
- pstopdfを呼び出すAppleScriptの作成
「psconvert」というAppleScriptを作成します。以下の内容のスクリプトファイルを作成するか、ダウンロードして、~/Library/Scripts/Folder Action Scripts/に置いてください。フォルダがない場合は作成してください。綴りを間違えないように注意。
on adding folder items to this_folder after receiving added_items
set PosixPath to POSIX path of added_items
do shell script "/users/Shared/pdfwrite/bin/mypstopdf " & PosixPath
tell application "Finder"
move the added_items to trash
end tell
end adding folder items to - PSおよびPDFを出力するフォルダの作成
/users/Shared/pdfwrite/pdfoutというフォルダを作成します。 - 上記フォルダにファイルが書き込まれた場合にAppleScriptを自動実行する設定
- Finderで「psconvert」をcontrol+クリック。
- メニューから[フォルダアクションを設定]を選択。
- [フォルダアクションを使用可能にする]にチェック。
- 左下の[+]をクリック。
- 上で作成したフォルダを指定します。
- Scriptのリストが表示されるので、「psconvert.scpt」を選択します。
- Finderで「psconvert」をcontrol+クリック。
これで準備が整いました。適当なアプリケーションからPS出力をしてみましょう。やり方は、
- プリントダイアログの出力オプションで、[ファイルとして保存]にチェックをし、[PostScript]を選択
- すると右下の[プリント]ボタンが[保存]に変わるのでクリック
- [ファイルに保存]ダイアログが出てくる
- フォルダは先ほど作った出力用フォルダにして、ファイル名は適当に。ただし、半角のカッコやスペースが入ってはいけないみたいです。
- [保存]ボタンをクリック
出力オプションを設定した状態でプリセットに登録しておけば、次回はフォルダも記憶しておいてくれますし、ファイル名は普通は文書名と同じものが入力済みでしょうから、returnキーを叩いていくだけです。
さあ、これで出来上がりです。出力用フォルダを開いてみましょう。サイズの大きなファイルを出力した場合は、多少時間がかかるかもしれません。待っていれば現れるはずです。
手順は多いですが、一度出来上がってしまえば簡単です。標準のPDFを作る仕組みと同じ手順で出来ますから分かりやすいですし。おすすめですよ~
ちなみに。滅多にこんなことしないのにこれだけ準備するのはめんどくさいという場合は、PS出力したファイルをプレビューで開くと、ファイルメニューからPDFで書き出せます。プレビュー、良い感じで高機能化してて、良いですね。
コメント
コメントを投稿