MacOS XでPDFを作る
MacOS Xではプリントダイアログで「PDFとして保存」をクリックするだけで、特別な設定なしにPDFファイルを作成できます。でも、出来上がったものはサイズが大きくて、配付するのに向いていません。試しにA4・1ページ・文字のみの文書をPDFにしたら、600kbytesぐらいになってしまいました。
もちろんAdobe Acrobatを使えば自由自在なのですが、「見るだけ、印刷するだけ」のPDFならば、無料で作ることが出来ます。ただし、UNIXの知識が必要です。
やってみたらなかなか複雑な手順だったので、メモを兼ねて方法をご紹介します。ただし、MacOS Xバージョンは10.2以降が対象です。
使用するのはオープンソースで公開されているSAMBAとghostscript(それもMacOS Xに最適化されたもの)というUNIX用ソフト、それとプリンタのPPDファイルです。
SAMBAはWindowsとのファイル・プリンタ共有に使われるソフト。
ghostscriptはPostScript言語で書かれた印刷データを表示・印刷するソフト。また、PostScriptをPDFに変換する機能も持っています。
PPDファイルはプリンタドライバの一種と思ってください。プリンタメーカーのドライバダウンロードページなどから入手できます。このコラムを読むと、どんなものか分かると思います。
SAMBAで共有しているプリンタは、データの流れを自由に操れます。データをプリンタに送るだけでなく、他のソフトに渡すこともできるのです。アプリケーションから印刷をすると共有プリンタにPostScriptデータが送られるのですが、それをプリンタではなくGhostScriptに渡し、PDFファイルに変換させるということをします。
ですので、本物のプリンタは必要ありません。PPDファイルを使用するので、ライセンス上は必要かもしれません。
まずはSAMBAの設定をします。SAMBAはMacOS Xバージョン10.2以降のシステムには組み込まれていますので、インストールの必要はありません。Windowsからファイルを共有できるように設定します(それ以前のバージョンでも、MacOS X用のSAMBAを入手してインストールすればできると思います。ただし、Windowsから共有できるように設定する方法が以下とは違うと思います)
次に、アプリケーションから渡された印刷データをghostscriptに渡すようにSAMBAを設定します。ここからUNIXの知識が少し必要です。
これでSAMBAの設定は終わりです。
次はghostscriptをインストールして設定します。
最後に、プリントセンターにプリンターを登録します。
以上で全ての設定は終了です。どんなアプリケーションでもかまわないので、メニューから「印刷」をクリックして、プリントダイアログを出してみてください。PDFWriteという名前のプリンタが選べるはずです。
うまくいかない場合、一度再起動すると良いかもしれません。
PDFにしたい文書を開き、プリンタをPDFWriteに設定し「プリント」をクリックすれば、「共有フォルダ」-「pdfwrite」-「pdfout」にPDFファイルが作成されます(作成されるまでに数秒かかります)。無事に出来ていれば完了です。
最初に試したのと同じA4・1ページ・文字のみの文書をこの方法でPDFにしたら、50kbytes弱と、10分の1以下になりました。これならメールで配布するのにも気兼ねしなくて良いですね。
本当はPDFが出来上がるとメッセージが表示されるはずなのですが(pdfwriteファイルの中で指定しています)、Macだとこの方法は通用しないみたいです。これはこれからの課題です。
もちろんAdobe Acrobatを使えば自由自在なのですが、「見るだけ、印刷するだけ」のPDFならば、無料で作ることが出来ます。ただし、UNIXの知識が必要です。
やってみたらなかなか複雑な手順だったので、メモを兼ねて方法をご紹介します。ただし、MacOS Xバージョンは10.2以降が対象です。
使用するのはオープンソースで公開されているSAMBAとghostscript(それもMacOS Xに最適化されたもの)というUNIX用ソフト、それとプリンタのPPDファイルです。
SAMBAはWindowsとのファイル・プリンタ共有に使われるソフト。
ghostscriptはPostScript言語で書かれた印刷データを表示・印刷するソフト。また、PostScriptをPDFに変換する機能も持っています。
PPDファイルはプリンタドライバの一種と思ってください。プリンタメーカーのドライバダウンロードページなどから入手できます。このコラムを読むと、どんなものか分かると思います。
SAMBAで共有しているプリンタは、データの流れを自由に操れます。データをプリンタに送るだけでなく、他のソフトに渡すこともできるのです。アプリケーションから印刷をすると共有プリンタにPostScriptデータが送られるのですが、それをプリンタではなくGhostScriptに渡し、PDFファイルに変換させるということをします。
ですので、本物のプリンタは必要ありません。PPDファイルを使用するので、ライセンス上は必要かもしれません。
まずはSAMBAの設定をします。SAMBAはMacOS Xバージョン10.2以降のシステムには組み込まれていますので、インストールの必要はありません。Windowsからファイルを共有できるように設定します(それ以前のバージョンでも、MacOS X用のSAMBAを入手してインストールすればできると思います。ただし、Windowsから共有できるように設定する方法が以下とは違うと思います)
- システム環境設定の「共有」を開く
- サービスタブの「Windowsファイル共有」を「開始」する
- システム環境設定の「アカウント」を開く
- 自分のユーザー名を選択し、「ユーザーを編集」をクリック
- 一番下の「ユーザーがWindowsからログインするのを許可する」をチェックする
次に、アプリケーションから渡された印刷データをghostscriptに渡すようにSAMBAを設定します。ここからUNIXの知識が少し必要です。
- 「ターミナル」を起動し、sudo chmod 666 /etc/smb.confを実行する
(パスワードを聞かれるので管理者(普通は自分)のパスワードを入力してください) - テキストエディタで/etc/smb.confを開く(エディタは何でもかまいません)
- 以下の文を最後部に追加して保存する
[pdfwrite]
comment = PDF Writer
path = /users/Shared/pdfwrite/pdfwork
printable = Yes
print command = /users/Shared/pdfwrite/bin/pdfwrite %s %m & - 「ターミナル」でsudo chmod 644 /etc/smb.confを実行する
- 「ユーザー」-「共有フォルダ」内にpdfwriteフォルダを作る
- 上記pdfwriteフォルダ内にpdfwork、bin、pdfoutフォルダを作る
- 今作ったbinフォルダに「pdfwrite」という名前のテキストファイルを作る
- テキストエディタでpdfwriteを開き、以下の文を入力して保存する
#!/bin/sh
#
# pdfwrite
#
outdir=/users/Shared/pdfwrite/pdfout
workdir=/users/Shared/pdfwrite/pdfwork
psname=$1
client=$2
pdfname=${workdir}/`basename ${psname}`.pdf
msgname=${workdir}/`basename ${psname}`.msg
/usr/local/bin/ps2pdfwr $psname $pdfname > $msgname
mv $pdfname $outdir
echo PDF File Created : `basename $pdfname` >> $msgname
cat $msgname | /usr/bin/smbclient -M $client
rm -f $psname $msgname- 「ターミナル」でchmod +x /user/Shared/pdfwrite/bin/pdfwriteを実行する
- 「ターミナル」でsudo chmod 777 /usr/local/bin/ps2pdfwrを実行する
- テキストエディタで/usr/local/bin/ps2pdfwrを開く
- 最下行の「exec gs $OPTIONS云々」のgsの前に「usr/local/bin/」を付け加えて保存する(「exec /usr/local/bin/gs $OPTIONS云々」になる)
- 「ターミナル」でsudo chmod 755 /usr/local/bin/ps2pdfwrを実行する
- 「ターミナル」でsmbd restartを実行する
- 「ターミナル」でchmod +x /user/Shared/pdfwrite/bin/pdfwriteを実行する
これでSAMBAの設定は終わりです。
次はghostscriptをインストールして設定します。
- JIS X0212 for pTeXからGNU ghostscript 7.05 for MacOSXをダウンロードします。ページの中程にあります。より新しいバージョンのものがあればそれをダウンロードします。
- ダウンロードしたディスクイメージをマウントする
- GNUghostscript7.05.pkgをダブルクリック
- インストーラが起動するので指示に従ってインストール
- SAMBAenablerをダブルクリック
最後に、プリントセンターにプリンターを登録します。
- PPDファイルを入手しインストールする
インストーラが付属しているか、PPDファイルを直接ダブルクリックするだけだと思います。
私はRICOHのカラーレーザーを使っているので、それ用のをダウンロードしました。当然ですが、モノクロプリンタ用のPPDファイルではカラーのPDFは作れません - 「プリントセンター」を起動し、optionキーを押しながら「追加」をクリックする
- 一番上のリストから「詳細」を選ぶ
- 「装置」から「Windows Printer via SAMBA」を選ぶ
- 「装置名」に「PDFWrite」を入力する
- 「装置のURl」に「smb://user:pass@127.0.0.1/pdfwrite」を入力。userとpassには自分のユーザー名とパスワードを入力します
- 「プリンタの機種」にはダウンロードしたPPDファイルのプリンタを指定します。リストからメーカー名を指定すると、プリンタの一覧が表示されるはずです
- 「追加」をクリックする
以上で全ての設定は終了です。どんなアプリケーションでもかまわないので、メニューから「印刷」をクリックして、プリントダイアログを出してみてください。PDFWriteという名前のプリンタが選べるはずです。
うまくいかない場合、一度再起動すると良いかもしれません。
PDFにしたい文書を開き、プリンタをPDFWriteに設定し「プリント」をクリックすれば、「共有フォルダ」-「pdfwrite」-「pdfout」にPDFファイルが作成されます(作成されるまでに数秒かかります)。無事に出来ていれば完了です。
最初に試したのと同じA4・1ページ・文字のみの文書をこの方法でPDFにしたら、50kbytes弱と、10分の1以下になりました。これならメールで配布するのにも気兼ねしなくて良いですね。
本当はPDFが出来上がるとメッセージが表示されるはずなのですが(pdfwriteファイルの中で指定しています)、Macだとこの方法は通用しないみたいです。これはこれからの課題です。
コメント
コメントを投稿