ε-ARK printer」カテゴリーアーカイブ

ε-ARK project の成果物の1つである ε-ARK printer (正確にはε-ARK/DMS の一部)について綴ってゆきます。

ε-ARK printer についてのメモ(古いメールから(その 2))

QR260

QR260

ε-ARK printer についての全体の説明がないままこのエントリを書くのもいまいちですが、今はとにかく過去を掘り起こしてまとめたいと思っています。

以下は、ε-ARK printer をどうやって Mac OS X のプリンタ環境に組み込むかをプロジェクトメンバに説明したメールの後半です。いま(2013年2月)から4年間のことになります。末尾「Windows 機では Bonjour for Windows を使えばよいのではないか」と書いています。このメールを書いた時には推測でしたが、後にそのとおりであることは確認しました。でも、その後も今も Windows はほとんど使っていないので、今でもそれがベストなのかどうかはわかりません。 

========================================

差出人: Hiroyuki OHNO

件名: [e-ark:652] e-ark printer update (as of 2/24/2009 (part.2))

日時: 2009年2月24日 21:25:09JST
「e-ark printer」開発関連の情報更新の続き (part.2) です.
次回の定例ミーティングの際の参考資料という位置付けです.

0. (本報告執筆時点での MW-260 の利用状況 ) → part.1 で報告

1. (LPD環境を導入した Mac OS X からの MW-260 の利用) → part.1 で報告

2. Mac OS X のプリンタ環境の実体は CUPS ですから,前メールの項番 1 で報告した,「MW-260 に対応した LPD 環境」を生かしつつ CUPS 環境から LPD 環境を経て MW-260 で印刷するには,CUPS 環境上に以下を行う疑似プリンタを用意すればよさそうです.

・PDF あるいは PostScript 形式のファイルを受け取って,XBM形式に変換する.

・XBM 形式にしたファイルを lpr コマンドの標準入力に送り,MW-260 で印刷させる.

上記を実現した疑似プリンタを実現できれば,当該 Macintosh 上の一般的なアプリケーションから MW-260 を利用するのは簡単で,各アプリケーションのプルダウンメニューから「ファイル」→「プリント」と進んで「プリンタ」を当該疑似プリンタに変更してから「プリント」ボタンを押すだけです.

先日も報告しましたが,この部分には CUPS-PDF を用いました.CUPS-PDF は,ports でインストールできます.CUPS-PDF をインストールすると,CUPS-PDF という疑似プリンタが作られ,Mac OS X 上のアプリケーションから CUPS-PDF に印刷するとPDF 形式のファイルで保存されます.さらに,postprocessing 機能を使えば,生成した PDF ファイル を XBM 形式に変換し,さらにそれを lpr コマンドに渡すのも簡単です.

…というわけで,LPD 環境と CUPS-PDF をインストールした,手元の MacBook(Black) と MacBookPro 上では,全てのアプリケーションが MW-260 対応になりました.
3. 次に,手元の Macintosh *以外の* Mac OS X 機からの印刷にも対応しました.これは,Mac OS X のプリンタ共有のしくみを使ったので,とても簡単に実現できました.

まず,CUPS-PDF 疑似プリンタを「共有プリンタ」として登録する必要があります.これは「システム環境設定」→「共有」の「プリンタ共有」で CUPS-PDF にチェックを入れるだけです.

手元の Macintosh *以外の* Mac OS X 機では,以下に記した 3 ステップで,MacBook(Black) か MacBookPro 経由で 共有プリンタとなった MW-260 を利用できます.再起動などのうざい作業は不要です.

# ε-ARK プロジェクト「北陸チーム」(勝手に命名 ^_^;) の方々は,全員 MacBook をお持ちですので,ぜひおためしください.

・「システム環境設定」→「ファックスとプリント」と進み,左下の「+」をクリックしてプリンタ追加画面を開く.

・しばらくすると「CUPS-PDF@hohno-MacBookPro-01」といったプリンタが現れるので,クリックして選択する.

・プリンタドライバとして「Generic PostScript Printer,1.3」(あるいは「一般的な ポストスクリプト プリンタ」) が選択されていることを確認する.もし,選択されていなかったら,手動で選択する.その上で「追加」ボタンを押す.

上記は,Mac OS X で共有プリンタを利用する標準的な手段ですが,以下の特徴があります.

・Boujour プロトコル (ゼロ・コンフィギュレーション・プロトコル) を使っているので,共有プリンタの IP アドレスを入力するといった作業は不要.

・CUPS-PDF 疑似プリンタが,Mac OS X からは PostScript プリンタに見え,Mac OS X は,PostScript プリンタドライバを「Generic PostScript Printer (あるいは「標準的なポストスクリプトプリンタ」) として標準搭載しているので,プリンタドライバをあらたにインストールする作業は不要.

すなわち,各自の Macintosh で,一度だけプリンタを追加する作業を行う必要がありますが,これはただの設定変更で,ソフトウェアやドライバを新規にインストールする必要はありません.再起動も不要です.

# まぁ,何かをしたらすぐ再起動するというのは,できの悪い別の OS が持ち込んだ悪い文化なだけですから,再起動不要なのがむしろ当然なんですけど…

というわけで,目標としていた「インストールフリー」は実現できました.

なお,Bonjour については,大野もそらんじているわけではないので,Wikipedia などでご確認ください. たとえば → http://ja.wikipedia.org/wiki/Bonjour
4. 最後に Windows 機からの印刷なんですが…

う~ん,良く分かりません.^_^;

Bonjour for Windows を入れ,PostScript ドライバを入れれば動くのでしょうが,確かめていません.今週末には例の真っ赤なPC が来ますので,調査しますが,「インストールフリー」にはならないかもしれません.

一連のデモは,次回の定例ミーティングの際に行います.いつでもどこでも目の前に共有プリンタがあり,簡単に印刷できるのは予想以上に便利です.

CUPS に対応している PICNIC PC からも簡単に印刷できるはずです.

今後は,昨年末から作業を続けている QR コード関連の機能を組み込んでゆきます (これこそが ε-ARKプリンタ環境の本丸です).

————————————————————

長くなりましたが,以上です.

大野 浩之 (Hiroyuki Ohno, Ph.D.)
国立大学法人 金沢大学 総合メディア基盤センター 情報基盤部門長・教授
( PGP fingerprint = D9 2A E9 BB D8 62 16 0F 38 AB A8 C4 4F 46 3E A0 )

 

ε-ARK printer についてのメモ(古いメールから(その1))

QR257

QR257

ε-ARK printer についての全体の説明がないままこのエントリを書くのもいまいちですが、今はとにかく過去を掘り起こしてまとめたいと思っています。

以下は、ε-ARK printer をどうやって Mac OS X のプリンタ環境に組み込むかをプロジェクトメンバに説明したメールです。いま(2013年2月)から4年間のことになります。末尾で QRコードを自動挿入するサービスについて言及していますが、これは翌年に完成し、X4iD 対応のデジタル文書管理システムとして情報処理学会のデジタルドキュメント研究会で報告しています。

========================================

差出人: Hiroyuki OHNO

件名: [e-ark:632] MW-260 プリンタの実装について

日時: 2009年2月12日 01:07:23JST

ε-ARK プリンタへ至るプリンタまわりの話です.

# ε-ARKプリンタの開発を促進するための情報共有を目的にメールさせていただきます.

# 前半は,これまでにもメールで説明したかと思いますが,後半は新ネタです.

brother MW-260 (A6モノクロ USB/IrDA/Bluetooth 感熱プリンタ)は,自前のプリンタドライバを作ったことで,Zark (Zaurus SL-C3100) で快適に動いていることはみなさんご存知のとおりです.

このドライバは C で書き,Zaurus 上の GCC でセルフコンパイルした単なるアプリケーションプログラムで,XBM 形式の 1152×1660ドットのビットマップファイルを標準入力から読み込み,これをMW-260 独自のラスター形式に変換した上で,いくつかの制御コードとともに Bluetooth シリアルポートに書き出しているだけです.

# 実際にはもうちょっと仕事をさせてますが,概略は上記のとおりです ^_^;

# 上記の制御コードは brother社独自のものですが,これ以外にも ESC/P 形式の制御コードを受け付けるモードもあります.

# しかし,ghostscript に含まれる ESC/P プリンタドライバではうまく動きませんでした.

こういう事情ですので,このプリンタドライバを Mac OS X に移のも容易で,すでに実現していますが,これをどうやって CUPS や lpd と組み合わせるかについては課題になっていました.で,ここからが新報告ですが,いろいろ調べるうちに CUPS-LPD という疑似プリンタドライバがあることを知りました.port でインストールできます.ちなみに port info cups-pdf を実行すると,以下のような説明が得られます.

————————————————————

This software is designed to produce PDF files in a heterogeneous network by providing a PDF printer on the central fileserver.

Homepage:    http://www.cups-pdf.de/

————————————————————

これをインストールすると,CUPS-PDF というプリンタが作られます.

このプリンタは,論理的には存在しますが,物理的には存在せず,任意のアプリケーション上の印刷画面で,このプリンタを指定して印刷すると,あらかじめ config ファイルで指定したディレクトリに PDF ファイルが書き出されます (たしか Windows だとAdobeAcrobat の商用版とかで同じような機能があったように思います).

嬉しいことに,CUPS-PDF は単に PDF ファイルとして書き出すだけでなく,書き出し後に任意のプログラムを起動する機能(postprocessing 機能) があるので「PDF ファイルを XBM 形式に変換した上で,MW-260 プリンタドライバを起動する」スクリプトを書きさえすれば,CUPS 環境に組み込めそうです.

MW-260 が CUPS のプリンタの一つになれば,どのアプリケーションからも MW-260 に印刷できますし,他の Macintosh や Windows 機からの印刷もMac OS X のプリンタ共有の枠組でできますから,一気に使い勝手がよくなります.

本来の使い方に立ち戻り,Zark に接続した MW-260 に対して印刷する場合ですが,残念ながら Zark では CUPS が動いていません.Zaurus SL-C3100/3200 で動いたという報告も見当たりません.

対応方法は以下の 2つです.

(1) Zark 上で CUPS と CUPS-PDF をビルドしてインストールする. あとは MW-260 を Macintosh に接続した場合と同じ.

(2) CUPS-PDF の postprocessing 機能を活用することにし,まずは Macintosh 上の CUPS-PDF で PDF 化し,これを Macintosh から Zark に送りこみ,PDF 形式から XBM 形式を経てプリンタ駆動までを Zaurus 上で行う.Zaurus への送り込みには,独自プロトコルを使う方法と,lpd を使う方法を検討中.ちなみに lpd は,Zark にインストール済み.

上記 (1) は,CUPS と CUPS-PDF をインストールできるかどうかを確認する必要があります.もしインストールできるなら,この方法で決まりです.一方 (2) は,確実に実現できるものの,ネットワーク上に CUPS-PDF をインストールした Macintosh が 最低 1台は必要というあまりスマートでない問題を抱えます.もっとも,当分はZark が動いている環境には大野の Macintosh が必ずあると思うし,大量のデータを送り込まれかねない場合には,Zaurus の手前に流量制限するしかけがどのみち必要でしょうから.(2) という選択は捨てた物じゃないかもしれません.

このあたりを整理して,MW-260 の利用環境の整備を急ぎます.

この環境整備が終われば,昨年末に東京駅のそばのカフェでひろのぶと相談した「QR コードを自動挿入するサービス」もようやく実装できます.

大野 浩之 (Hiroyuki Ohno, Ph.D.)

国立大学法人 金沢大学 総合メディア基盤センター 情報基盤部門長・教授

( PGP fingerprint = D9 2A E9 BB D8 62 16 0F  38 AB A8 C4 4F 46 3E A0 )