Экспарт Від PDF з какава

Brad Miller @ Cocoa Dev Central wrote a tutorial regarding Creating PDFs from Cocoa. I tried to follow the tutorial there, but since its rather old (2003) a lot of code was deprecated. I got it to work after some fiddeling, but when I try to export a PDF, the print-dialog shows, and it does not save the PDF to the file I specified.

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];

Поўны код для маёй рэалізацыі экспарту PDF з'яўляецца . Код вышэй толькі ў дачыненні да экспарту.

Быў бы вельмі рады, калі б хто-то мог убачыць, што ім рабіць няправільна тут ...

3

1 адказы

На самай справе, я знайшоў адказ на маю праблему сам тут, калі я зноў прачытаў яе. Праблема з лініяй, якая змяшчае:

[printInfoDict setObject:[panel URL] forKey:NSPrintSavePath];

Як вы можаце бачыць, файл URL падабраны, але ён павінен быць шлях замест URL. Так што я змяніў яго на гэта:

[printInfoDict setObject:[[panel URL] path] forKey:NSPrintSavePath];

І бац, гэта працуе!

1
дададзена
Проста хутка FYI: NSPrintSavePath непажаданы 10,6 , і заменены NSPrintJobSavingURL , які прымае асобнік NSURL , таму арыгінальны [панэль URL] будзе працаваць з гэтым!
дададзена аўтар Adam, крыніца