我需要创建一个pdf,其中包含我在屏幕外创建的许多不同NSViewController's
的屏幕截图(因此用户看不到任何更改)。
我已经能够将此功能用于添加到主NSWindow
的屏幕视图,但到目前为止,如果不将视图添加到窗口,则无法获得相同的效果。我还尝试创建一个新的NSWindow
,它已经离开屏幕并将View添加到屏幕上,但它不起作用。
我设法从屏幕NSImage
使用以下内容获得NSView
: -
NSBitmapImageRep *bitmapImageRep = [offScreenView bitmapImageRepForCachingDisplayInRect:offScreenView.bounds];
[offScreenView cacheDisplayInRect:offScreenView.bounds toBitmapImageRep:bitmapImageRep];
NSImage *image = [[NSImage alloc] initWithSize:bitmapImageRep.size];
[image addRepresentation:bitmapImageRep];
但是我无法从PDFDocument
得到它,因为它没有正确的图像表示。有没有办法转换,还是有其他办法完全做到这一点?
谢谢, 马特
答案 0 :(得分:0)
这可能会让你开始:
NSData *pdfData=[offScreenView dataWithPDFInsideRect:[offScreenView frame]];