0

iOS で 80mm 幅の紙に html の文字列セットを印刷するにはどうすればよいかお尋ねしたいと思います。もちろんエアプリントとレシートプリンターを使って感熱紙に印刷する予定です。まだ作成を開始していないため、コードを提供できない場合は申し訳ありませんが、正しい方法でこれを行う方法についてアドバイスを求めたいと思います。ありがとう。

4

2 に答える 2

1

iOS では、Core Graphics を使用して HTML を画像コンテキストまたは PDF ドキュメントにレンダリングできます。PDFの場合は に用紙サイズをご指定UIGraphicsBeginPDFPageWithInfoください。印刷解像度は 72 dpi (80 mm = 3.15 インチ -> 72*3.15 = 226.8 ポイント) であるため、計算を行う必要があります。

結果をファイル (またはNSDataまたはUIImage) に保存します。次に、このドキュメントを航空印刷で印刷できます。

UIPrintInteractionController* pic = [UIPrintInteractionController sharedPrintController];
NSURL* fileURL = [NSURL fileURLWithPath:self.pdfPath];
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.jobName = @"Receipt";
pic.printInfo = printInfo;
pic.printingItem = fileURL; // single NSData, NSURL, UIImage or ALAsset

[pic presentAnimated:YES
   completionHandler:^(UIPrintInteractionController *printInteractionController, BOOL completed, NSError *error) {
           // ...
   }];

もちろん、印刷デバイスは何らかの形でエア プリントをサポートしている必要があります。

于 2012-06-23T11:26:08.957 に答える
0

Star Micronics には、レシート プリンター iOS SDK があり、こちらから入手できます: http://www.starmicronics.com/support/SDKDocumentation.aspx

このパッケージは、基本的なステータス、ポートの開閉、プリンター通信を処理する印刷 API と、領収書の出力とドキュメントをカスタマイズするための多くのサンプルを提供します。

于 2012-06-27T01:19:52.107 に答える