美文网首页
iOS打印 AirPrint

iOS打印 AirPrint

作者: Geniusn | 来源:发表于2019-01-04 13:42 被阅读0次

    使用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

          本文链接:https://www.haomeiwen.com/subject/jgvhrqtx.html