Я пытаюсь распечатать NSView, который включает в себя пару круговых диаграмм основного сюжета среди других элементов. Однако круговые диаграммы не отображаются. Теперь я понимаю, что представления, поддерживаемые слоями, не печатаются, но мне трудно найти какие-либо примеры, в которых люди обходили это и печатали графики основных диаграмм в NSView. Каков наилучший подход для этого?
Как распечатать график CorePlot
Ответы (1)
Для меня это сработало, как только я настроил printRect, например:
NSRect printRect = NSZeroRect;
printRect.size.width = (printInfo.paperSize.width - printInfo.leftMargin - printInfo.rightMargin) * printInfo.scalingFactor;
printRect.size.height = (printInfo.paperSize.height - printInfo.topMargin - printInfo.bottomMargin) * printInfo.scalingFactor;
self.hostingView.printRect = printRect;
op = [NSPrintOperation printOperationWithView:self.hostingView printInfo:printInfo];
Примечание self.hostingView
относится к CorePlot hostingView.
person
Volker
schedule
02.04.2014
Спасибо, это заставляет меня двигаться в правильном направлении, это отлично работает, если вы просто хотите построить один график. Но у меня есть пара графиков в NSView, а также дополнительные элементы, поэтому я хотел бы распечатать все элементы в том виде, в каком они расположены в NSView. Но это, безусловно, меня заводит.
- person Cory; 02.04.2014
Просто нужно было установить для свойства printRect в каждом из хост-представлений значение [self view] frame]] и все работает! Еще раз спасибо!
- person Cory; 02.04.2014
На самом деле очень просто: self.hostingView.printRect = self.hostingView.bounds
- person Lubos; 12.04.2016