iPhone, iPad から Windows に接続されているプリンタで印刷したい

自宅ネットワーク内で、iPhoneiPad から印刷ジョブを送りたい。プリンタは AirPrint 非対応の EPSON EP-302 なので、なかなか難しい。

以前は Windows AirPrint Installer iOS5 for x86 x64.zip をインストールすればよかったようだが、iPhone、iPADからWindows10を使ってAirPrint非対応のプリンターで印刷する | level1の報告書 にあるように、iOS 10 で対応が終了してしまっているらしい。

当初は、Mac mini にプリンタを接続して、Mac mini をプリントサーバーにしていたのだが、MacBook からは印刷ができるのに、iPhoneiPad からはプリンタが見えないのである。

色々試しているうちに、Synology NASDebian CUPS プリンタが iOS から見えることが分かった。MacBook からも見える。そこで、CUPS で PDF ファイルに出力し、その出力フォルダを Windows で常時監視することで、フォルダに新規追加された PDF ファイルを印刷することにした。Synology NASDebian CUPS からは EP-302 に印刷できないのである。白紙が何枚も出力されるだけなのである。

そして、複雑怪奇な印刷システムが出来上がった。概要は以下の通りである。

  1. iPhone, iPad の例えば SafariGoogle Chrome から「プリント」を選択
  2. 「プリント」は AirPrint 対応プリンタを探しに行くので Synology NASDebian CUPS PDF プリンタを発見し、これを選択
  3. iPhone, iPad で不必要なページのチェックを外して「プリント」
  4. Debian CUPS PDF は /var/spool/cups-pdf/ANONYMOUS/ ディレクトリに PDF ファイルを出力
  5. Synology DMS にインストールした unison で、Debian のファイルを DMS ディレクトリに同期
  6. DMS のフォルダを共有設定
  7. Windows にインストールした FolderMill で DMS の共有フォルダを監視
  8. FolderMill でプリンタに出力

Download - FolderMill FolderMill 4.7 - Free Version は「FolderMill による印刷」であることが分かるカバーページを1枚出力するので、最初に裏紙を1枚入れておくと紙の無駄が省ける。

クラウド対応自動印刷 − フォルダーを監視し、ドロップ(作成)されたファイルをプリンターに自動印刷します。 無償版は、60分毎にソフトウェアの再起動が必要なので、見送った。PdfAutoPrintの詳細情報 : Vector ソフトを探す! はシンプルでいいのだが、Windows でドロップしたファイルだけが監視対象になるようで、NAS 上でコピーされて新規生成されたファイルの印刷はできなかった。ネットワークフォルダには対応していないので、ネットワークフォルダを N: ドライブなどのようにドライブ名をつけてやる必要がある。Windowsでドロップしたファイルは印刷されるが、ファイルはフォルダにそのまま残る仕様のようだ。結局、PdfAutoPrintも見送りとなった。ラドAutoPDFPrintの詳細情報 : Vector ソフトを探す! は未確認。

Unison File Synchronizer を DMS 上でコンパイルするのは手間なので、バイナリを使った。Unison Binaries にある、arm バージョンが使える。

How to use cron on a Synology NAS — Multigesture.net で Synology NAS の crontab 設定。1分に1回 unison する。

FolderMill は、印刷を行うと印刷したファイルを削除する。unison は、同期ファイルが削除されると元ファイルを削除する。このようにして、一旦生成された2つの PDF ファイルは印刷が完了するとすべて削除される。

今回は、このような設定にしたが、Debian CUPS の PDF 出力ディレクトリを共有してしまえば、unison は不要だし、crontab 設定も不要になるはず。しかしながら、Debian chroot は /var 以下に実体があり、NAS は /volume1 以下のフォルダしか共有設定ができない。また、/volume1 以下のフォルダに Debian chroot のフォルダをシンボリックリンクやハードリンスすることもできないのである。

Google クラウドプリントでも印刷は成功したが、Chrome から直接印刷するか、Google Drive アプリから印刷する必要があり、さらに iPhone, iPadGoogle アカウントとプリンタに接続されている WindowsChrome アカウントを同一にしておかなければならないので、家族が使うときに若干問題がある。また、Google クラウドプリントでは、不要ページのスキップが難しい。この点、iOS デフォルトのプリントは簡単で優れている。

今までは、子どもが「これ、印刷して!」と言って iPad を持ってきていたが、自分で印刷できるようになった。印刷要求を送ってから1分くらい待たなければいけないが、そこはご愛嬌で。