Как найти, где NSPrintOperation создал сохраненный PDF-файл (NSPrintSaveJob)

Я использую NSPrintOperation для печати или сохранения в формате PDF. Однако это прекрасно работает, когда при использовании «Сохранить как PDF» (NSPrintSaveJob) NSPrintOperation выводит стандартный диалог «Сохранение файла», и пользователь может ИЗМЕНИТЬ предложенное имя.

Мне не удалось найти (но см. ПРИМЕЧАНИЕ в конце) какое-либо возвращаемое значение, которое показывает URL-адрес окончательного конечного местоположения, выбранного пользователем для операции «Сохранить как PDF». Например, я просмотрел словарь NSPrintInfo, чтобы узнать, могла ли NSPrintOperation добавить пару ключ-значение, но ничего не было:

Возможно ли обнаружить этот URL-адрес?

Вот как я инициализирую процесс (который печатается из созданного мной временного .pdf):

      PDFDocument *pdfDocumentToPrint = [[PDFDocument alloc] initWithURL:(__bridge NSURL*)cfURL];
NSPrintOperation *op = [pdfDocumentToPrint printOperationForPrintInfo:(__bridge NSPrintInfo*)printInfo scalingMode:kPDFPrintPageScaleNone autoRotate:NO];

BOOL doPrintPreview = (((__bridge NSPrintInfo*)printInfo).jobDisposition == NSPrintPreviewJob) ? YES : NO;
BOOL doExportAsPDF = (((__bridge NSPrintInfo*)printInfo).jobDisposition == NSPrintSaveJob) ? YES : NO;

op.showsPrintPanel = !(doPrintPreview || doExportAsPDF);

[op runOperation];

CFRelease(cfURL);

ПРИМЕЧАНИЕ. В NSPDFInfo* ДЕЙСТВИТЕЛЬНО есть поле URL, содержащее окончательный указанный пользователем путь к файлу, но неясно, как получить NSPDFInfo после операции печати.

0 ответов

Другие вопросы по тегам