2011年06月18日

cups-pdfでWineからPDF出力

一昨日のWineで動作中のアプリケーションからPDFを出力する方法というエントリで強引にWine上のMS Word ViewerからPDFファイルを出力する方法を書いたのだが、その冒頭に、「こういうバッドノウハウはすぐに古びて不要になるとは思う」と書いた。ほとんど言い訳に近いのだけれど、早速それが不要になる方法をmasashi.Mizuno.chestnutさんにコメントで教えていただいたので、改めて記事に。これはcups-pdfというパッケージをインストールするだけの極めて単純なソリューション。

cups-pdfは、リポジトリの説明によると「CUPS-PDF provides a PDF Writer backend to CUPS. This can be used as a
virtual printer in a paperless network or to perform testing on CUPS.」つまり、仮想プリンタとして使えるということだから、WindowsでPDF出力のために配布されているPrimoとかPDF Creatorとかとほぼ同じ。

そういう便利なソフトなのになぜいままで知らなかったのかという言い訳は、これを使わなくてもUbuntuではPDF出力がデフォルトでサポートされているからだ。印刷ダイアログで「ファイルに出力する」というオプションが最初から用意されている。cups-pdfは、完全にこの機能と重複するわけで、だから不要なわけだ。

しかし、Wine上で動作するWindowsアプリケーションでは、この「ファイルに出力する」というオプションが表示されない。ということで先日のバッドノウハウになったわけだけれど、何のことはない、cups-pdfを使えばこれがあっさり解決する。

cups-pdfはリポジトリに入っているので、ソフトウェアセンターからでもSynapticパッケージマネージャからでも、何なら端末からコマンドでも、お好きな方法でインストールすればいい。そして、そのままでは使えない。インストール後に、設定メニューの「印刷」からプリンタの追加をしてやらなければならない。これはGUIで何の迷いもなくできる。何か尋ねられるけれど、基本的にはデフォルトで「はい、はい」と答えていればいい。

この方法で、実際にWine上で動作するMS Word ViewerからPDFを出力することができる。印刷のプリンタダイアログでcups-pdfを選択すればそれでOK。用紙や解像度も設定できる。ただ、「ファイルに出力する」オプションとちがうのは、保存先やファイル名が指定できないこと。保存先は、自分のホームフォルダ直下にPDFというフォルダができて、その中になる。

これが鬱陶しい人は、この保存先を変更できると説明にある。けれど、その方法はよくわからない。そこでちょっと調べてみたら、/etc/cups/cups-pdf.confに設定ファイルがあるので、ここの
### Key: Out
という項目の
Out ${HOME}/PDF
を変更すればよさそうだと見当をつけた。ただし、実際には試していないので、あくまで私のあてにならない山勘である。

出力されたPDFは、やはり文字を文字列として認識することができない。このあたりは、ちょっと残念だ。
posted by 松本 at 13:23| Comment(3) | TrackBack(0) | Ubuntuのアプリケーション | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
おそくなりましたが、まとめていただき、ありがとうございます。私も少しだけ、記事をまとめました。ついでに、文字列の認識についても、うまくいった(かもしれない)と思うので、見ていただければ幸いです。
Posted by masashi.mizuno.chestnut at 2011年07月19日 12:53
masashi.mizuno.chestnutさん、コメントありがとうございます。ブログも拝見しました。なるほど、ppdを指定してやれば通るというアイデアですね。こんど試してみます。重ねてありがとうございます。

cups-pdfは、私も「何に使うのだろう」と思ったのですが、これがその後、けっこう便利に使っています。とはいえ、ほとんどのケースは「ファイルへ出力」でも同じですけれど。cups-pdfが出力先が必ず~/PDFになるというのが、案外と使いやすかったり。まあ、これは本質的ではありませんが。

強いてcups-pdfのアドバンテージを捜すなら、出力ファイルの解像度を指定できることかもしれません。これはこれで便利な場合もありそうです。
Posted by 松本 at 2011年07月19日 20:47
コメントを書き足してみました。文字化けはghostscript まわりに問題がありそうな気がします。ただ、あすこは設定が多くて、よくわからないです。

リンク先にあるのですが、sambaを使って、cups-pdf をネットワークプリンタとして使うという方法があるそうです。うまく設定すれば、オフィスで便利そうです。クライアントとして使うより、サーバとして使うという考えは思いつきませんでした。
Posted by masashi.mizuno.chestnut at 2011年07月19日 22:57
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック