Printing in Mac Cocoa Programming

By: Aaron Hillegass Viewed: 153269 times  Printer Friendly Format    


Code to handle printing is always relatively hard to write. Many factors are at play: pagination, margins, and page orientation, or landscape versus portrait.

Compared to most operating systems, Mac OS X makes writing print routines considerably easier. After all, your views already know how to generate PDF, and Mac OS X knows how to print PDF. If you have a document-based application and a view that knows how to draw itself, you simply implement printOperationWithSettings:error:. In this method, you create an NSPrintOperation object using a view and return it. The code, in your NSDocument subclass, would look like this:

- (NSPrintOperation *)printOperationWithSettings:(NSDictionary *)ps
                                           error:(NSError **)e;
{
    NSPrintInfo *printInfo = [self printInfo];
    NSPrintOperation *printOp
             = [NSPrintOperation printOperationWithView:aView
                                              printInfo:printInfo];
    return printOp;
}


Most Viewed Articles (in Cocoa )

Latest Articles (in Cocoa)

Comment on this tutorial