先日iウェア株式会社がリリースしたiPhone/iPadでAirPrint非対応機種でも印刷できるアプリ
Prime Printはx-callback-urlに対応しています。
■なにが出来るかというと…
URLスキームを使って他のアプリからPrime Printを呼び出して印刷後、呼出元のアプリに戻ることが出来ます。
しかもx-calback-urlに印刷パラメーターを設定できるので下記の印刷設定が呼出元アプリからできます。
・オリエンテーション
・カラー/モノクロ
・用紙サイズ
・用紙タイプ(メディア)
・コピー部数
・両面指定
・フチなし印刷
■印刷出来るコンテンツには…
・イメージ
・文字
・URL(Webページ)
・ドキュメント(Webサーバー上にあるドキュメント、PDF、Word、Excel、PowerPoint、Pages、Numbers、Keynote、RTF、text等)
■絵にすると…
■用途は…
アプリ開発者の皆さんは自分のアプリに印刷機能を簡単に組み込む事が出来ます。Prime PrintはAirPrint非対応のプリンターにも印刷が出来ますので、印刷出来るプリンターが格段に増えます。
システムインテグレーターさんはiPhone,iPadのシステムに印刷機能を追加出来ます。フィールドエンジニア、フィールドセールス等の外出先でのソリューションに「バッテリー駆動出来るキヤノンiP100」から印刷出来るシステムなんていかがですか?
■仕組みは…
アプリケーションからコンテンツをPrime Printへ渡す仕組みはズバリ!「クリップボード」です。
1.クリップボードにコンテンツ(イメージ、URL、テキスト)を格納する。
2.x-callback-urlでPrime Printを呼び出す。
3.Prime Printはクリップボードの内容を印刷する。
4.Prime Printは印刷が完了すると呼出元のアプリを起動する。
■実装は…
1.コンテンツをクリップボードへ格納
/* You can also set an URL, a plain text and an array of images.*/
[UIPasteboard generalPasteboard].image = self.imageView.image;
//[UIPasteboard generalPasteboard].string = @"http://iwares.jp";
//[UIPasteboard generalPasteboard].string = @"Test print";
2.x-calback-urlを作る
・x-calback-urlの呼出部分:
NSString *urlString =
[NSString stringWithFormat:
@"primeprint-x-callback-url://x-callback-url/clipboard-print?x-success=%@://x-callback-url/printResult&x-source=%@",scheme, applicationName];
・x-calback-urlに印刷パラメーターをセットする
NSString *paramString = [urlString stringByAppendingString:[self printParameter]];
・実際に印刷パラメーターをセットする部分
/*
Print Parameter
<key> : <value>
color : color / monochrome
orientation : portrait / landscape
papersize : a4, letter, a3, a5, b4, b5, legal, 3.5x5, 5x7, 4x6, 8x10
media : plain, fine, photo
duplex : off, long-edge, short-edge
border : normal, borderless
copies : 1 to 100
*/
- (NSString *)printParameter
{
NSString *result = @"";
NSString *color = @"color";
NSString *orientation = @"portrait";
NSString *paperSize = @"a4";
NSString *media = @"plain";
NSString *copies = @"1";
NSString *border = @"normal";
NSString *duplex = @"long-edge";
result = [NSStringstringWithFormat:
@"&color=%@&orientation=%@&papersize=%@&media=%@&copies=%@&border=%@&duplex=%@",
color, orientation, paperSize, media, copies, border, duplex];
return result;
}
■おまけ情報…
Prime PrintはSafariからx-callback-urlで起動して、印刷後にSafariに戻る特別機能があります。
x-successには通常アプリケーションのスキームを設定しますが、この部分に"Safari"と入れておくと、Prime PrintはSafariをコールバックします。Prime Printの"i"ボタンから"クリップボードへコピーする(サファリへ戻る)"をコピーして、確認してみてください。
■最後に…
iウェア株式会社ではPrime Print SDKの提供をしています。x-callback-urlでもある程度の印刷は可能ですが、シームレスな印刷を行うためにはSDKをお奨めします。簡単にシステムに組み込みたい。少数で利用したいと言う場合にはPrime Printのx-callback-urlを是非ご活用ください!
■もうひとつ最後に…
Prime Printとx-calback-urlをテストするサンプルプログラム、「Prime Print x-callback-url Sample」がGitHubにあります。お試しください。
Prime Printがないから確認できない、と言うデベロッパーの皆さん、プロモーションコードをお送りしますので遠慮なくお問合せください。iphone@iwares.co.jp
Prime Print