LinuxパソコンをPDF作成用マシンに
PDFで保存した方がよい文書とは? たとえば、オンライン・ショップで買うと大概のサイトで発行される領収書。注文の電子メールが行方不明になった場合や経費の報告書に領収書を添付するときに必要になるから暫くは保存しておかねばならない。しかし、そのためだけにFirefoxに表示されたあらゆる領収書を紙に印刷したくはない。とはいえ、FirefoxではPostScriptにしか出力できない。PDFはサポートされていないのだ。
そこで登場するのが、Common UNIX Printing System(CUPS)とCUPS-PDFドライバーを搭載したLinuxマシンだ。筆者が試用したのはUbuntu Feisty上だが、CUPSとCUPS-PDFドライバーが搭載されていれば、どのLinuxディストリビューションでもよい。
CUPS-PDFはあらかじめインストールされていないので、「sudo apt-get install cups-pdf
」コマンドで組み込む必要がある。組み込んだら、次に印刷ジョブをPDFファイルに変換する仮想プリンターを追加する。まず、「System」→「Administration」→「Printing」の順にメニューを辿り、プリンター構成ダイアログを開く。そのダイアログのツールバーにある「New Printer」を選ぶと、New Printer Wizardが開くので、それに従って設定していく。最初はプリンターの名前だ。ほぼ任意の名前を付けることができるが、「PDF」とするのがわかりやすいだろう。「Description」(説明)と「Location」(設置場所)の各フィールドは必要に応じて入力すればよい。
次の画面では接続を選択する。ここでは「Virtual Printer」を選ぶ。デバイスのURIは「cups-pdf:/
」のままにしておく。次の画面ではデータベースから「Printer」を選択する。ここでは「Generic」を選ぶ。次の画面の「Model」とそのドライバーでは「PostScript」を選ぶ。以上で設定は終わり、「Going to create a new printer PDF at cups-pdf:/」というメッセージが表示される。ここで「Apply」をクリックすると、仮想PDFプリンターが作られる。
これで、Linuxアプリケーションから印刷ジョブをPDFプリンターに送るとPDFファイルが作成されるようになった。ホーム・ディレクトリーの下には仮想プリンター名を含む名前のディレクトリーが作られ、PDFプリンターに送ったジョブはこのディレクトリーに保存される。たとえば、仮想プリンター名が「PDF」の場合は/home/ユーザー名/PDFに保存されることになる。
ただし、一部のLinuxアプリケーションで、印刷は何事もなく終わるのに長さがゼロのファイルが作られる場合がある。Operaはその一つで、仮想プリンターへの印刷処理ではエラーは報告されないのに、結果は空ファイルだ。一方、FirefoxとThunderbirdではまったく問題はない。
今あるGNOMEとKDEのアプリケーションの多くはPDFに直接印刷できるかPDFファイルにエクスポートできるため、仮想プリンターを使う必要はない。しかし、ネットワーク上にWindowsマシンがあり、WindowsアプリケーションからPDFを作りたいが高価なAdobeのツールは買いたくないという場合は、この仮想プリンターは本当に便利だ。
Windowsマシンから利用するには
Windowsマシンからも仮想PDFプリンターが使えるようにするのは極めて簡単で、CUPS構成ファイルを編集するだけだ。Ubuntuの場合、編集のコマンドは「sudo vi /etc/cups/cupsd.conf
」だ(もちろん、vi以外のエディタを使ってもよい)。
編集では、まずポートが正しく設定されていることを確かめる。
# Allow remote access Port 631 Listen /var/run/cups/cups.sock Browsing On BrowseOrder allow,deny BrowseAllow @LOCAL BrowseAddress @LOCAL DefaultAuthType Basic
次に、最初の「Location」ディレクティブを次のように変更する。
<Location /> # Allow remote administration... Order allow,deny Allow From 127.0.0.1 Allow From 10.0.0.* </Location>
変更するのは「Allow From 10.0.0.*
」の行で、お使いのネットワークに合わせてIPアドレスを設定する。
そして、次のコマンドでCUPSを再起動する。
sudo /etc/init.d/cupsys restart
次は、Windows側の設定だ。まず、新しいプリンターを追加する。「プリンタの追加ウィザード」で「インターネット上または自宅/会社のネットワーク上のプリンタに接続する」を選び、URLを「http://IPアドレス/printers/PDF
」と設定する。これで、WindowsからPDFプリンターが見えるはずだ。次に、プリンター・ドライバーを選択する。インターネットで調べたところでは、カラーPDFの場合、HP 1200C/PSドライバーがよいというのが大方の一致した意見のようだ。
ウィザードに従って残りの設定をし、最後に試し印刷を行う。首尾がよければ、Ubuntuシステム上にPDFファイルができているはずだ。ローカルの場合、Linuxマシンに印刷したPDFファイルは/home/ユーザー名/PDFに保存されたが、リモートの場合は、特に設定しなければ、/var/spool/cups-pdf/ANONYMOUSに保存される。このディレクトリーは、設定ファイル中の次の行を有効にし設定することで変更できる。
#AnonDirName /var/spool/cups-pdf/ANONYMOUS
たとえば、「home」ディレクトリーの下の「shared」というディレクトリーに保存したい場合は、次のように設定する。
AnonDirName /home/shared
そして、CUPSを再起動すれば完了だ。
運良く新しいPDF「印刷」マシンを手に入れることができたら、これからはどれほど文書を印刷しても森を破壊することはない。