在iOS上的80毫米纸张(收据)上打印

时间:2012-06-23 09:04:09

标签: ios5

我想问一下如何在iOS上的80mm宽纸上打印html字符串集。我打算用热敏纸和收据打印机打印在热敏纸上。对不起,如果我不能给代码,因为我还没有开始创建它,但我想询问有关如何以正确的方式做到这一点的建议。感谢。

2 个答案:

答案 0 :(得分:1)

在iOS中,您可以使用Core Graphics将html渲染为图像上下文或PDF文档。 如果是PDF,请在UIGraphicsBeginPDFPageWithInfo中指定纸张尺寸。您需要进行一些计算,因为打印分辨率为72 dpi(80 mm = 3.15英寸 - > 72 * 3.15 = 226.8点)。

将结果保存在文件中(或NSDataUIImage)。 然后,您可以通过空气打印打印此文档:

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) {
           // ...
   }];

当然,您的打印设备需要以某种方式支持空气打印。

答案 1 :(得分:0)

Star Micronics有一个收据打印机iOS SDK,你可以到这里:http://www.starmicronics.com/support/SDKDocumentation.aspx

此软件包提供了一个打印API,可处理您的基本状态,打开/关闭端口和打印机通信,以及大量样本以自定义收据输出和文档。