ku-sukeのブログ

Just another hatena blog

MA3のネットプリントの使い方のコツ

今日、前回参加で仲良くなった方とメールでやり取りしてたんですが、富士ゼロックスネットプリントは利用するときにちょっとしたコツというか仕組みの理解が必要です。

そこで自分なりのまとめをメモっときます。あと3日ですが、この土日で実装してみてはいかがでしょう*1

一度生成したファイルを「取りに来て」もらわないといけない。

当然といえば当然ですが、なんとなくデータを「送信」しているイメージになりがちなので注意が必要です。
流れとしては、

  1. 印刷したいファイルを生成(PDFとか)
  2. そのファイルを申し込んだドメインのWEBでアクセスできる場所に保存
    • ttp://014gohan.com/xxxxxxxxx.pdf とか
  3. 保存したURLをネットプリントに通知
    1. ネットプリントのプログラムに取りに来てもらう
      • ここでタイムアウトは60秒くらいなので、あまり重いと厳しい。
    2. 取れたかどうかステータスを返してくれる
      • ここまで1リクエスト

と、こんなかんじになっています。

HTML2PDFと組み合わせようとする場合

基本的にHTML2PDFは人気なので重いです。
つまり、全てを同時にしようとすると厳しいのです。
(いまはどうだかわかりません。)

014gohanのときはどうしたか*2
  1. 詳細ページがアクセスされる
  2. すでに生成済みキャッシュがあるか確認する(非同期リクエスト)
    • あれば何もしない
    1. ない場合
    2. HTML2PDFに、詳細ページURLを投げて、PDF生成をお願いする
      • 機嫌がいいときはPDFを返してくれるので、キャッシュを保存。1週間くらい。
    • 機嫌が悪くてPDFをいただけなかった場合
    • ネットプリント規約表示画面で、もう一度トライする。
      • かつ、ユーザーに「もしかしたら失敗するかも」と言い訳
    • そしてネットプリントに送信するURLにPDFラッパーをかまして
      • キャッシュがあればそれをネットプリントに渡す
      • なければオンザフライでの生成を試みる。

と、結構えぐいことしてます。アシアルさんホントごめんなさい。

ただし、成功率は低かった(最近はいけるかも?試してない)

  • かつ、バージョンアップの最中だったのかA4じゃなくRegalサイズを返すこともありネットプリントで利用できない期間もあった。
  • AjaxAjax地図を利用しないのであればHeartRails Capture | サムネイル画像/PDF ファイル作成サービスが早い。
  • 人気サービスを利用するときは、有料プランも視野にいれる必要あり。
  • ただ、重くて動かないのは開発者の責任ではないので、MA3の審査にはそんなに関係なさそうな予感

あと全体的に

  • API提供各社は、問い合わせすると結構丁寧に返事返していただけるので、わからないときは素直に聞いてみましょう。ちょっとしたバグを発見してお知らせしたときも、即日対処してもらったことがあります。

あーまにあわねー

*1:実は賞をいただいたにもかかわらず今回は利用しないかもしれないという申し訳ない状況なのでTips公開

*2:現在はNPSブログの方法で自前で地図生成しています。