#import "AppDelegate.h" @implementation AppDelegate @synthesize window = _window; @synthesize textView; @synthesize pageButton; - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { [pageButton setState:NSOffState]; pageIt = FALSE; } - (IBAction)switchPage:(id)sender { if (pageIt) pageIt = FALSE; else pageIt = TRUE; NSLog(@"%d",pageIt); } - (IBAction)exportPDF:(id)sender { NSArray *ext = [NSArray arrayWithObjects: @"pdf",nil]; NSSavePanel *panel = [NSSavePanel savePanel]; [panel setAllowedFileTypes:ext]; [panel beginSheetModalForWindow:_window completionHandler:^(NSInteger result) { if (result == NSOKButton){ if (pageIt) { NSPrintInfo *printInfo; NSPrintInfo *sharedInfo; NSPrintOperation *printOp; NSMutableDictionary *printInfoDict; NSMutableDictionary *sharedDict; sharedInfo = [NSPrintInfo sharedPrintInfo]; sharedDict = [sharedInfo dictionary]; printInfoDict = [NSMutableDictionary dictionaryWithDictionary: sharedDict]; [printInfoDict setObject:NSPrintSaveJob forKey:NSPrintJobDisposition]; [printInfoDict setObject:[panel URL] forKey:NSPrintSavePath]; printInfo = [[NSPrintInfo alloc] initWithDictionary:printInfoDict]; [printInfo setHorizontalPagination: NSAutoPagination]; [printInfo setVerticalPagination: NSAutoPagination]; [printInfo setVerticallyCentered:NO]; printOp = [NSPrintOperation printOperationWithView:textView printInfo:printInfo]; [printOp setShowsProgressPanel:NO]; [printOp runOperation]; } else { NSRect r = [textView bounds]; NSData *data = [textView dataWithPDFInsideRect:r]; [data writeToURL:[panel URL] atomically:YES]; } NSLog(@"We actually saved"); NSURL *fileURL = [panel URL]; NSString *saveName = [fileURL path]; NSLog(@"Saved as filename = %@",saveName); } else { NSLog(@"Did not save"); } }]; } @end