gpt4 book ai didi

objective-c - 在 NSPrintInfo 中设置文件名

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:58 27 4
gpt4 key购买 nike

我正在尝试设置一个打印对话框,以便如果用户尝试保存为 PDF,它会得到一个合理的文件名。

我目前有:

NSPrintInfo* pi = [NSPrintInfo sharedPrintInfo];
NSMutableDictionary *dict = [pi dictionary];
[dict setObject: name forKey: NSPrintSavePath];
[dict setObject: name forKey: @"NSPrintSavePath"];
NSPrintOperation *op = [pdfDoc getPrintOperationForPrintInfo:pi
autoRotate:YES];
[op runOperation];

字典中的 NSPrintSave 字段是正确的,但文本框不断出现“.pdf.pdf”

有什么想法是从哪里来的?

添加信息:

当我打印出我的 NSPrintInfo 对象时,我得到:

print info {
NSBottomMargin = 90;
NSCopies = 1;
NSDetailedErrorReporting = 0;
NSFaxNumber = "";
NSFirstPage = 1;
NSHorizonalPagination = 2;
NSHorizontallyCentered = 1;
NSJobDisposition = NSPrintSpoolJob;
NSJobSavingFileNameExtensionHidden = 0;
NSJobSavingURL = bob -- /;
NSLastPage = 2147483647;
NSLeftMargin = 72;
NSMustCollate = 1;
NSOrientation = 0;
NSPagesAcross = 1;
NSPagesDown = 1;
NSPaperName = "na-letter";
NSPaperSize = NSSize: {612, 792};
NSPrintAllPages = 1;
NSPrintProtected = 0;
NSPrintSavePath = bob;
NSPrintTime = 0001-12-31 19:00:00 -0500;
NSPrinter = {
"Device Description" = {
NSDeviceIsPrinter = YES;
};
"Language Level" = 2;
Name = "Xerox WorkCentre PE120 Series (XRX0000aa9915f0)";
Type = "Generic PostScript Printer";
};
NSPrinterName = "Xerox WorkCentre PE120 Series (XRX0000aa9915f0)";
NSRightMargin = 72;
NSSavePath = bob;
NSScalingFactor = 1;
NSTopMargin = 90;
NSVerticalPagination = 0;
NSVerticallyCentered = 1;
}

我认为这意味着要打印的默认文件名是“bob”或“bob.pdf”,但它仍然是“.pdf.pdf”...

最佳答案

答案似乎是完全忽略 NSPrintInfo,并查看 NSPrintOperation。显然,NSPrintOperation 有一个 setJobTitle 方法,它只是做正确的事情(tm)。

现在,为什么我的谷歌搜索都没有找到这个(所有这些都导致我在上面尝试过的东西)我真的不知道......

关于objective-c - 在 NSPrintInfo 中设置文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587524/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com