2011-01-19 1 views
0

Как вы думаете, можно ли добавить код в приложение (Xcode), что позволяет Распечатайте экран Ipad, или отправить его на макинтошпечати код IPad экран

ответ

0

Sure, но только от вашего самостоятельно приложений. Вы не можете отправлять скриншоты других приложений.

+0

Да, это именно то, что мне нужно. но как? – Marco

+0

Чтобы распечатать, загляните в AirPrint. Чтобы отправить его на Mac, спросите себя, как вы хотите его перенести - Webbrowser, Email, родной клиент. Для захвата скриншота вам нужно искать здесь. Отправьте другой (конкретный) вопрос по конкретным проблемам. – Eiko

+0

Благодарю вас за помощь. Я делаю приложение с несколькими вопросами о iPad. когда я закончу, чтобы ответить на все вопросы, которые я хочу распечатать, и сохранить в формате pdf. Я не могу нажать кнопку home home и нажать кнопку «Спящий», чтобы захватить экран, потому что файл, который я использую, равен 1900, а не 1024, поэтому потребуется только разрешение ipad, оставив остальное. Надеюсь, я поняла. – Marco

1
#import "AirPrintingViewController.h" 

@implementation AirPrintingViewController 

-(void)printItem { 

    NSString *path = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"png"]; 
    NSData *dataFromPath = [NSData dataWithContentsOfFile:path]; 

    UIPrintInteractionController *printController = [UIPrintInteractionController sharedPrintController]; 

    if(printController && [UIPrintInteractionController canPrintData:dataFromPath]) { 

     printController.delegate = self; 

     UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
     printInfo.outputType = UIPrintInfoOutputGeneral; 
     printInfo.jobName = [path lastPathComponent]; 
     printInfo.duplex = UIPrintInfoDuplexLongEdge; 
     printController.printInfo = printInfo; 
     printController.showsPageRange = YES; 
     printController.printingItem = dataFromPath; 

     void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { 
      if (!completed && error) { 
       NSLog(@"FAILED! due to error in domain %@ with error code %u", error.domain, error.code); 
      } 
     }; 

     [printController presentAnimated:YES completionHandler:completionHandler]; 

    } 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [btn addTarget:self action:@selector(printItem) forControlEvents:UIControlEventTouchDown]; 
    [btn setTitle:@"PRINT" forState:UIControlStateNormal]; 
    btn.frame = CGRectMake(0, 100, 320, 50); 
    [self.view addSubview:btn]; 
} 

@end 

,

с этим кодом можно распечатать файл в пути, как я могу печатать мой экран вместо того, чтобы файл уже в пути?

+0

Как я могу проверить этот код на симуляторе? – Hisenberg