В настоящее время я пишу приложение для OSX, которое в конечном итоге нужно будет портировать на iOS.Печать без NSView
Данные, которые необходимо распечатать, рисуются через CoreGraphics в контексте PDF - это работает отлично.
Я читал документацию Apple dev при печати как в iOS, так и в OSX, и, по иронии судьбы, на самом деле кажется, что печать с iOS будет проще.
В свойстве iOS UIPrintInteractionControllerprintingItem
можно использовать объект NSData, содержащий данные PDF, и распечатать его. Похоже, это должно быть довольно прямолинейно.
OSX, с другой стороны, (выглядит так) требует использования класса NSPrintOperation - но, кажется, единственный способ получить данные в экземпляр - через NSView. (+printOperationWithView:
или +printOperationWithView:printInfo:
).
Учитывая, что содержимое отформатировано и разбито на страницы уже кажется бессмысленным, необходимо повторно перевести данные PDF в нечто вроде NSView.
Возможно ли быть другим способом достижения этого, что я пропустил?
Обнаружили полезную информацию: [Ссылка на основную печать] (http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CorePrintRef/Reference/reference.html) - 'PMPrinterPrintWithProvider' выглядит он может выполнить эту работу, но если у кого-то есть другое или, надеюсь, лучшее предложение, пожалуйста, опубликуйте его! – arrtchiu
Я предлагаю опубликовать это как ответ. –
@PeterHosey: Я бы это сделал, поэтому для этого требуется много кода и не позволяет пользователю изменять какие-либо настройки с помощью встроенных диалоговых окон OSX. Кроме того, такие вещи, как установка размера бумаги, не документируются. Будет продолжать искать альтернативное решение. – arrtchiu