Как сделать диалог печати с предварительным просмотром для печати файла изображения - PullRequest
3 голосов
/ 23 июня 2011

У меня есть приложение для редактирования изображений Mac Cocoa.Я хотел бы добавить функциональность печати изображения в свое приложение.У меня всегда есть jpg / png файл.Всякий раз, когда пользователь заходит в меню «Файл» -> «Печать», я хотел бы предоставить пользователю диалоговое окно с параметрами / настройками печати для печати этого файла jpg / png.Мне бы хотелось, чтобы диалоговое окно печати было настроено для печати изображений, например, которое мы получаем при печати изображения из приложения предварительного просмотра.

Я не хочу использовать что-то вроде следующего, потому что это даст не оченьнастраиваемый диалог печати:

[NSPrintOperation printOperationWithView:viewToPrint printInfo:[self.document printInfo]]

Ответы [ 2 ]

0 голосов
/ 16 апреля 2018

Пожалуйста, используйте этот код.

NSPrintInfo *printInfo = [NSPrintInfo sharedPrintInfo];
NSImage *pic =  [[NSImage alloc] initWithContentsOfFile: @"/Users/Anne/Desktop/Sample.png"];
NSRect picRect = NSRectFromCGRect(CGRectMake(0, 0, pic.size.width, pic.size.height));
NSImageView *imageView = [[NSImageView alloc] initWithFrame:picRect];
[imageView setImage:pic];
NSPrintOperation * picPrint = [NSPrintOperation printOperationWithView:imageView printInfo:printInfo];
[picPrint setCanSpawnSeparateThread:YES];
[picPrint runOperation];
0 голосов
/ 04 октября 2011

Ну, вы можете поместить все в NSView и затем использовать метод print.Этот метод напечатает все, что находится внутри представления (включая подпредставления).Теперь для настраиваемой печати вы можете сделать что-то вроде:Если вы собираетесь печатать), вы сохраняете эти параметры и их, когда пользователь нажимает на печать в вашем диалоговом окне, вы можете удалить подпредставление, которое он не хотел показывать.И после того, как это напечатано, покажите это снова.Здесь также есть другие способы печати представлений: http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...