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

Posted

技术标签:

【中文标题】如何在多页 NSPrintOperation 中更改页面方向?【英文标题】:How can I change page orientation within a multi page NSPrintOperation? 【发布时间】:2019-09-05 03:33:32 【问题描述】:

假设我有一个三页的报告要打印出来,第一页是纵向的,第二页是横向的,第三页是纵向的。

我已经将一个特殊的 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 在预览中打开”,我希望将这三个页面合并为一个作业,在预览中作为 PDF 打开。)

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

【问题讨论】:

【参考方案1】:

rectForPage:中设置方向

NSPrintOperation.currentOperation.printInfo.orientation = NSPaperOrientationLandscape;

NSPrintOperation.currentOperation.printInfo.orientation = NSPaperOrientationPortrait;

【讨论】:

以上是关于如何在多页 NSPrintOperation 中更改页面方向?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ghostscript 在多页 pdf 中裁剪第 3 和第 4 页

如何阻止用户在多页测验中编辑网址?

如何在多页 s-s-rS 2005 报告的标题中显示数据?

在多页网格视图中获取行数?

将用户输入数据保存在多页 php 表单中

在多页Symfony 4上发送数组