以前、iPadから印刷したいと言う記事を書いて、そのまま印刷を使うことはほとんどなかったのだけれど、駅探の検索結果をメールしたときに、iPhone/iPadで見た時とPCで見た時の見た目が違うことに気がついてしまい、iPhone/iPadの画面を印刷したくなって試してみたところ、プリンタが見つからない。
いろいろ調べまわった結果、当初の参考サイトを見たところ、iOS6では別の手順が必要と言うことで、AirPrint on Linux with iOS 6 | micromuxに辿り着く。
基本はここに書いてある通りなのだが、FreeBSDのcupsはpathが少し違ったりするので、手順を書いておく。
cupsdやavahi-daemonは前回の手順でインストール/動作済みとする。
  1. libharuをインストール
    # portupgrade -N print/libharu
    
  2. urftopdfを持ってくる
    % git clone https://github.com/superna9999/urftopdf.git
    % cd urftopdf
    
  3. FreeBSD用のpatchをあてる
    % fetch https://gist.github.com/false-git/5532513/raw/0157445c16542925a853f86c6eaa2e4acc682fbe/patch-urftopdf
    % patch < patch-urftopdf
    
  4. ビルド&インストール
    % make
    cc urftopdf.c -lhpdf -lcups -o urftopdf -lm -O2 -pipe -march=pentium-m -I/usr/local/include -L/usr/local/lib
    urftopdf.c: In function 'decode_raster':
    urftopdf.c:221: warning: comparison is always true due to limited range of data type
    % sudo ./install_pdf.sh
    
  5. avahiのプリンタのserviceファイルの書き換え(1) URF=noneの行を以下のように書き換え
    <txt-record>URF=W8,SRGB24,CP1,RS600</txt-record>
    
  6. avahiのプリンタのserviceファイルの書き換え(2) pdl=...の行を以下のように書き換え
    <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,image/gif,image/jpeg,image/png,image/tiff,text/html,text/plain,application/openofficeps,application/vnd.cups-banner,application/vnd.cups-pdf,application/vnd.cups-postscript,image/urf</txt-record>
    
  7. cupsdとavahi-daemonの再起動
    # /usr/local/etc/rc.d/cupsd restart
    # /usr/local/etc/rc.d/avahi-daemon restart
    
これで、一応iPhoneからまたプリンタが見つかるようになって印刷できるようになったけど、なんか無理矢理iPhoneの画面をA4に引き伸ばしたような絵で、解像度も低く、いまいちと言うか今三な感じ。URF=のRS600とかを変えたら改善したりするのかもしれないけど、また暇ができたら試してみよう。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: iOS6の印刷

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/3035

コメントする

このブログ記事について

このページは、falseが2013年5月 7日 22:06に書いたブログ記事です。

ひとつ前のブログ記事は「squid 2.7 → 3.2 の移行」です。

次のブログ記事は「MySQLのバージョンアップ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1