おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

OpenOffice 3.3 DEV m77 インストール&印刷ダイアログ確認

ついったに書くのは長いので、ブログに書く意味はあんまないんだけど小ネタ。本来なら貼りたかったスクショ貼ってないんで(環境が違うので)仮公開だけど、内容は変えるつもりないんで。


ついったで ikunya さんから「OOo 3.3 の DEV だと Linux 版の印刷ダイアログがあたらしくなってるみたいですよ」といわれ、確認してみた。

インストールメモ

ちょっとだけ悩んだのでメモって置きます。

  • まず今のバージョン (多分 OOo 3.2) をアンインストール*1
sudo aptitude remove openoffice3.org

関連パッケージもごっそり削除されます。

  • 開発版のダウンロードページ から取ってくる
    • ぼくは Ubuntu なので deb 版を取ります。
    • とりあえず画面見られりゃいいので Japanese languagepack は取りませんでした。
  • 取ってきたものは tar.gz になってるので tar xvzf で展開。
  • 展開された中で DEBS に cd して sudo dpkg -i * ... するまえに。
    • どうも Sun の JRE がないと怒られるので sun-java6-jre を入れといてください。
    • その後 sudo dpkg -i *
  • これでインストールはうまくいくんですが、/usr/bin にいる ooffice (だったかな? ちがったら後で訂正します) は変なところを指しているようで動きません。
  • ので、/opt/ooo-dev3/programs にある soffice (StarOfficeの頃の名残りですか? この名前)を起動すればオッケーです。
    • 個別のアプリは swriter とか simpress とかで起動すれ。
さて肝心の印刷まわり
  • 実際の印刷はしてません(我が家プリンタないから;いやあるんだけどインク入ってない。インストールまわりの確認用)
  • 故に印刷ダイアログについて。
    • 確かに変わっています。リアルプレビューとか出ます。
    • 部単位印刷 (collate) は逆順印刷 (reverse page order) などの機能とまとまって別タブに移りました。これは CUPS フィルタで処理するのか、アプリが自前でやるのかどちらなのか気になるところです*2。元気なときにソース読むかなぁ……(というと大抵よまない)。
    • んが、しかしっ、プリンタドライバの「プロパティ」を開くと懐かしい画面が……。
    • 先生! 3.2と変わっていません!
    • ここが一番プリンタベンダとしては変わってほしいところなのにっ *3
    • Firefox の使ってる GTK-Print を使うという噂があったと思うが、そこまでまだできてないのか、ガセだったのか?
    • 拡張 GTK-Print は CUPS 1.4 の PPD extension を読んでくれるのでのがうれしいところなんですよね。PPD というのは Adobe が PS のために作ったプリンタの諸元とその制御コマンドを記述するデータファイルの規格で、もともとは複数の候補から一個を選択するというモデルだったんだけど、CUPS 1.4 からそれが拡張されて、文字列などの自由入力がサポートできるようになったわけ。
      • 例えばオフィスなんかで共用のプリンタに出してうっかりそのまま忘れてたら、ほかの人の印刷物に紛れてもっていかれてしまった。これって悲しいし、情報セキュリティ的にも好ましくない。だからパスワード付でジョブを投げて、プリンタ内に保管しておいて、プリンタの操作部でパスワード入れると印刷されるとかそういうソリューションは各社やってるんですな。でも標準でパスワードとか自由入力する方法がないから各社苦労していた。
      • それが標準でサポートされると、ベンダごとに別々のソフト入れなくて済むようになるからディストロさんもうれしいし、ユーザはアプリの印刷画面でプリンタの機能をまるっと使えることになるからうれしいし、プリンタベンダは開発コストが下がってうれしい*4
      • ということで今の GTK-Print の画面はこんな感じで、ベンダの PPD が対応していれば、自由入力も可能になってます。ワオ!

      • 本来であれば目的の元に Common Printing Dialog (このブログでも何度か取り上げたので探してみてちょ) というのが作られていますが、まあなんというか製作が難航している感があり、その前のつなぎとしてみんな GTK-Print つかってよ! というのはありじゃないかなあ。あるいは CPDAPI (Common Printing Dialog の API) を GTK-Print のラッパーにしちゃうとか。

ま、最後はちょっと夢物語でしたが、OOoOSS によるデスクトップ環境構築の旗手でありますんでがんばっていただきたいであります。

*1:これは衝突するかどうかちゃんと調べるのがめんどくさかったから、という手抜きの意味合いが強いです。うまくやれば共存可能です。詳しくは下の ikuya さんのコメント参照のこと。

*2:部単位印刷をアプリでやる方法としてはジョブをせっせと印刷部数分送ってあげるという方法ですが、これでよくハマるのが、両面にしていて奇数頁のジョブを投げたとき、前のジョブとくっついてしまうことです。この問題を正しく解決するにはジョブの切れ目をきちんと通知してあげることですが、ときおり手抜きをして空白のページをはさむアプリがいます。これでも印字結果はちゃんとしますが、印刷枚数で保守料を課金する複合機の場合、ユーザーが意図しないところで自動的に挿入された白紙で勝手に課金されるのが問題になったりして、なかなかややこしいのです。

*3:注:この発言はいかなるプリンタベンダを代表するものではありません。私の個人的意見です。

*4:注:当然この部分もいかなるベンダを代表するものでは以下略。