首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NSPrintInfo中设置文件名

在NSPrintInfo中设置文件名
EN

Stack Overflow用户
提问于 2010-04-07 03:05:07
回答 1查看 784关注 0票数 3

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

我目前有:

代码语言:javascript
复制
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对象时,我得到:

代码语言:javascript
复制
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”,但它仍然是“bob”……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-08 06:35:32

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

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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2587524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档