如何在多页 NSPrintOperation 中更改页面方向?

How can I change page orientation within a multi page NSPrintOperation?

假设我要打印一份三页的报告,第一页是纵向,第二页是横向,第三页还是纵向。

我已经将一个特殊的 NSView 子类化为我的打印操作,但我得到的是三页,全部为纵向,切断了横向。我已经能够解决这个问题,将每个页面分成一个单独的打印作业,但这是不可接受的,因为它忽略了

中的设置
NSPrintOperation *printOperation = [NSPrintOperation printOperationWithView: printView printInfo: printInfo];

[printView setCurrentForm: [formSet objectAtIndex: 0]];

[printOperation setShowsPrintPanel:YES];
[printOperation runOperationModalForWindow: [self window] delegate: nil didRunSelector: nil contextInfo: nil];
[printOperation cleanUpOperation];
[NSPrintOperation setCurrentOperation: nil];

从第一页调用(例如,如果他们从该对话框中选择 "PDF Open in Preview",我希望将这三个页面合并为一个作业,在预览中以 PDF 格式打开。)

我需要在呈现 NSView 的打印机版本的代码中做什么,才能强制 NSPrintOperation 更改方向?

rectForPage:

中设置方向
NSPrintOperation.currentOperation.printInfo.orientation = NSPaperOrientationLandscape;

NSPrintOperation.currentOperation.printInfo.orientation = NSPaperOrientationPortrait;