我正在尝试在我的新 Cocoa 应用程序中实现打印。除了缩放(即以 75%、125% 等打印)之外,一切都工作正常一段时间了。
据我从 Apple 文档中得知,该程序应该根据比例因子调整从 rectForPage: 方法返回的矩形。我发现了一些似乎可以这种方式工作的 Apple 代码示例,以及 cocoabuilder 上的一篇旧帖子。
http://www.cocoabuilder.com/archive/cocoa/211683-scaled-printing.html
我的 rectForPage: 代码如下所示:
NSPrintInfo *pi = [[NSPrintOperation currentOperation] printInfo];
NSSize paperSize = [pi paperSize]; // Calculate the page dimensions in points
// Convert dimensions to the scaled view
CGFloat pageScale = [[[pi dictionary] objectForKey:NSPrintScalingFactor] floatValue];
CGFloat topMargin = [pi topMargin];
CGFloat leftMargin = [pi leftMargin];
CGFloat bottomMargin = [pi bottomMargin];
CGFloat rightMargin = [pi rightMargin];
CGFloat pageHeight = (paperSize.height - topMargin - bottomMargin) / …Run Code Online (Sandbox Code Playgroud) cocoa ×1