今日、前回参加で仲良くなった方とメールでやり取りしてたんですが、富士ゼロックスのネットプリントは利用するときにちょっとしたコツというか仕組みの理解が必要です。
そこで自分なりのまとめをメモっときます。あと3日ですが、この土日で実装してみてはいかがでしょう*1
一度生成したファイルを「取りに来て」もらわないといけない。
当然といえば当然ですが、なんとなくデータを「送信」しているイメージになりがちなので注意が必要です。
流れとしては、
- 印刷したいファイルを生成(PDFとか)
- そのファイルを申し込んだドメインのWEBでアクセスできる場所に保存
- ttp://014gohan.com/xxxxxxxxx.pdf とか
- 保存したURLをネットプリントに通知
- ネットプリントのプログラムに取りに来てもらう
- ここでタイムアウトは60秒くらいなので、あまり重いと厳しい。
- 取れたかどうかステータスを返してくれる
- ここまで1リクエスト
- ネットプリントのプログラムに取りに来てもらう
と、こんなかんじになっています。
HTML2PDFと組み合わせようとする場合
基本的にHTML2PDFは人気なので重いです。
つまり、全てを同時にしようとすると厳しいのです。
(いまはどうだかわかりません。)
014gohanのときはどうしたか*2
- 詳細ページがアクセスされる
- すでに生成済みキャッシュがあるか確認する(非同期リクエスト)
- あれば何もしない
- ない場合
- HTML2PDFに、詳細ページURLを投げて、PDF生成をお願いする
- 機嫌がいいときはPDFを返してくれるので、キャッシュを保存。1週間くらい。
と、結構えぐいことしてます。アシアルさんホントごめんなさい。
ただし、成功率は低かった(最近はいけるかも?試してない)
- かつ、バージョンアップの最中だったのかA4じゃなくRegalサイズを返すこともありネットプリントで利用できない期間もあった。
- Ajax・Ajax地図を利用しないのであればHeartRails Capture | サムネイル画像/PDF ファイル作成サービスが早い。
- 人気サービスを利用するときは、有料プランも視野にいれる必要あり。
- ただ、重くて動かないのは開発者の責任ではないので、MA3の審査にはそんなに関係なさそうな予感
あと全体的に
- API提供各社は、問い合わせすると結構丁寧に返事返していただけるので、わからないときは素直に聞いてみましょう。ちょっとしたバグを発見してお知らせしたときも、即日対処してもらったことがあります。
あーまにあわねー