iOS打印 AirPrint

使用iOS AirPrint 让你的APP轻松实现打印功能

1, 什么是AirPrint

其实就是将iOS(iphone,ipad)上的内容,使用支持AirPrint的打印机打印出来。打印过程无线控制, 非常方便。

2, 第一手资料

学习iOS, 第一手资料肯定非苹果官方文档莫属.here。 (我下面叙述的内容基本上是对文档的总结, 英语可以的建议直接看文档。。。)

3, Printer Simulator,使用打印模拟器进行测试

既然涉及打印功能,那么就需要有一台支持AirPrint 功能的打印机进行测试喽,你没有?没关系!苹果已经为我们准备好了模拟器。 这个模拟器在Xcode中没有, 需要自己到官网下载:下载Printer Simulator(需要先注册登录)



点击Printer Simulator即打开模拟打印机


4、打印代码

协议UIPrintInteractionControllerDelegate

主要是用到了UIPrintInteractionController类,这是一个单列类。UIPrintInfo是配置打印信息,UISimpleTextPrintFormatter是设置页面范围。

UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];

                if  (pic && [UIPrintInteractionControllercanPrintData:data]) {

                    pic.delegate=self;

                    UIPrintInfo*printInfo = [UIPrintInfoprintInfo];

                    printInfo.outputType=UIPrintInfoOutputGeneral;

//                    printInfo.jobName = [self.path lastPathComponent];

                    printInfo.duplex=UIPrintInfoDuplexLongEdge;

                    pic.printInfo= printInfo;

                    pic.showsPageRange=YES;

                    pic.printingItem= data;


                    void(^completionHandler)(UIPrintInteractionController*,BOOL,NSError*) =

                    ^(UIPrintInteractionController*pic,BOOLcompleted,NSError*error) {

                        if(!completed && error)

                            NSLog(@"FAILED! due to error in domain %@ with error code %u",

                                  error.domain, error.code);

                    };

                    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

                        [picpresentFromBarButtonItem:self.saveButtonanimated:YES

                                    completionHandler:completionHandler];

                    }else{

                        [picpresentAnimated:YEScompletionHandler:completionHandler];

                    }

Info.plist文件中的第一项 Localization native development region(CFBundleDevelopmentRegion)的值设为 China(zh_CN);



选择后打印会生成一张图片模拟结束

你可能感兴趣的:(iOS打印 AirPrint)