Есть ли хорошие пошаговые руководства для включения печати в приложении iOS 5? У меня есть приложение, которое должно иметь базовый шаблон (выглядит как билет), который заполняется информацией из объекта, а затем распечатывается на локальном принтере. Я прочитал основные элементы AirPrint на сайте разработчика iOS, но хотел бы найти хороший учебник, который объединит все это.
Шаг за шагом Учебник для печати из iOS?
Ответ 1
Что относительно документов Apple в Руководство по рисованию и печати для iOS http://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/drawingprintingios.pdf [PDF]
EDIT:
Специально посмотрите рабочий процесс печати или щелкните ссылку на документацию HTML онлайн http://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/Printing/Printing.html#//apple_ref/doc/uid/TP40010156-CH12-SW14
Ответ 2
Сессия 108 WWDC 2011 была названа "Системой печати iOS" и включала глубокое прохождение всех способов печати в iOS, включая демонстрацию создания пользовательского UIPrintPageRenderer
, который (скорее всего) необходимо сделать.
Вы можете получить видео, образец кода и слайды с сайта разработчика Apple: https://developer.apple.com/videos/wwdc/2011/?id=108
Ответ 3
Чтобы распечатать любой файл или изображение с устройства iOS, мы можем использовать UIPrintInteractionController
UIPrintInteractionController *pc = [UIPrintInteractionController
sharedPrintController];
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.orientation = UIPrintInfoOrientationPortrait;
printInfo.jobName [email protected]"Report";
pc.printInfo = printInfo;
pc.showsPageRange = YES;
pc.printingItem = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://test.com/Print_for_Client_Name.pdf"]];
// You can use here image or any data type to print.
UIPrintInteractionCompletionHandler completionHandler =
^(UIPrintInteractionController *printController, BOOL completed,
NSError *error) {
if(!completed && error){
NSLog(@"Print failed - domain: %@ error code %ld", error.domain,
(long)error.code);
}
};
[pc presentFromRect:CGRectMake(0, 0, 300, 300) inView:self.view animated:YES completionHandler:completionHandler];