0

我想问一下如何在 iOS 上的 80 毫米宽的纸上打印一组 html 字符串。我计划使用airprint和收据打印机将它打印在热敏纸上。对不起,如果我不能提供代码,因为我还没有开始创建它,但我想就如何以正确的方式做到这一点征求意见。谢谢。

4

2 回答 2

1

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

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

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 回答