zoukankan      html  css  js  c++  java
  • 蓝牙打印

    1.本地生成打印源

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"打印" style:(UIBarButtonItemStylePlain) target:self action:@selector(rightClick:)];

        a.网页

    self.currentURL = @"http://www.baidu.com";
        
    _webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:_webView];
        
    NSURLRequest *url = [NSURLRequest requestWithURL:[NSURL URLWithString:self.currentURL]];
    [_webView loadRequest:url];

        b.字符串

    string = @"寒冷关键是列宁格勒市个技能熟练感觉深谷隆司理工科麻省理工模式"

    2.调用

    -(void)rightClick:(id)sender{
        UIPrintInteractionController *printC = [UIPrintInteractionController sharedPrintController];//显示出打印的用户界面。
        printC.delegate = self;
        UIPrintInfo *printInfo = [UIPrintInfo printInfo];//准备打印信息以预设值初始化的对象。
        printInfo.outputType = UIPrintInfoOutputGeneral;//设置输出类型。
        printC.showsPageRange = YES;//显示的页面范围
        
        //    打印网页
        [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.currentURL]]];//网页
        
        printC.printFormatter = [self.webView viewPrintFormatter];//布局打印视图绘制的内容。
        
        /*
         //    打印文本
         UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc]
         initWithText:@"发噶感受噶sgsgsgsgsgsgsgsgsgsghghtgdnsgbvcgt"];
         textFormatter.startPage = 0;
         textFormatter.contentInsets = UIEdgeInsetsMake(200, 300, 0, 72.0); // 插入内容页的边缘 1 inch margins
         textFormatter.maximumContentWidth = 16 * 72.0;//最大范围的宽
         printC.printFormatter = textFormatter;
         */
        
        
        //    打印完成
        void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
        ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
            if (!completed && error) {
                NSLog(@"可能无法完成,因为印刷错误: %@", error);
            }
        };
        
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { //iPad
            
            UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:sender];//调用方法的时候,要注意参数的类型-下面presentFromBarButtonItem:的参数类型是 UIBarButtonItem..如果你是在系统的UIToolbar or UINavigationItem上放的一个打印button,就不需要转换了。
            [printC presentFromBarButtonItem:item animated:YES completionHandler:completionHandler];//在ipad上弹出打印那个页面
            
            //[printC presentFromRect:CGRectMake(500, 500, 100, 200) inView:self.webView animated:YES completionHandler:completionHandler];//第二种方法
            
            
        } else { //iPhone
            [printC presentAnimated:YES completionHandler:completionHandler];//在iPhone上弹出打印那个页面
        }
    }

    参考 http://blog.sina.com.cn/s/blog_8d1bc23f0102v39m.html

  • 相关阅读:
    C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法
    PAT甲级1018留坑——第一个测试点未过(Dijikstar+Dfs)
    PAT甲级1019水题飘过
    微信该公众号提供的服务出现故障
    The valid characters are defined in RFC 7230 and RFC 3986
    eclipse中Web Deployment Assembly与build path作用
    Invalid bound statement (not found)
    springmvc获取bean
    mac/linux查询网络端口占用
    SiteMesh使用(2.4.2)
  • 原文地址:https://www.cnblogs.com/gulong/p/4716572.html
Copyright © 2011-2022 走看看