我有一个从Xcode Cocoa应用程序模板派生出来的应用程序,它正确地打印在El Capitan上,但是引入了一个用一个阴影框环绕在塞拉利昂的厘米边缘。将边距值(在viewDidLoad的viewController中的共享实例中)更改为较大的正值会使边距更大,但将它们降为零仍然会留下边距和阴影框。图像是打印预览的屏幕截图.我想回去让PDF占据整个印刷一页。查看File/Print的菜单显示它执行firstResponder print:。我应该尝试重写这个函数吗?但是,如果下面的代码没有效果地执行,这会有什么好处呢?
NSPrintInfo *PageDefaults = [NSPrintInfo sharedPrintInfo];
[PageDefaults setBottomMargin:0];
[PageDefaults setLeftMargin:0];
[PageDefaults setRightMargin:0];
[PageDefaults setTopMargin:1];

如果我将上面代码中的顶部和左边边距增加到120,则打印更改为:

故事板显示,我只使用一个PDF控件来填充整个viewController场景

最后,屏幕上的viewController显示它看起来像应该的那样:

发布于 2016-10-07 11:11:08
-[PDFView print:]在10.10中呼叫printWithInfo:autoRotate:pageScaling:。在10.12中,-[PDFView print:]调用printOperationWithView:并打印背景。解决方案:创建PDFView的子类,重写print:并调用printWithInfo:autoRotate:pageScaling:。
- (void)print:(id)sender {
[self printWithInfo:[NSPrintInfo sharedPrintInfo] autoRotate:YES pageScaling:kPDFPrintPageScaleToFit];
}https://stackoverflow.com/questions/39862262
复制相似问题