我希望以NSView
单页PDF格式显示。
到目前为止,我有两个解决方案,但它们都有缺点。任何人都可以帮助我解决这些问题吗?
NSString *path= [[NSBundle mainBundle] pathForResource:name ofType:@"pdf"];
NSImage * image = [[NSImage alloc] initWithContentsOfFile:path] ;
NSImageView * imageView = [[NSImageView alloc] init] ;
imageView.frame = NSMakeRect(0, 0, 2*image.size.width, 2*image.size.height) ;
imageView.image = image ;
imageView.imageScaling = NSImageScaleAxesIndependently ;
return imageView
缺点:
2
。为什么我的PDF在NSView中显示的尺寸小于Finder? NSString *path= [[NSBundle mainBundle] pathForResource:name ofType:@"pdf"];
NSURL *urlPDF = [NSURL fileURLWithPath:path] ;
PDFDocument * myPDFDocument = [[PDFDocument alloc] initWithURL:urlPDF] ;
PDFView *myPDFView = [[PDFView alloc] init] ;
myPDFView.document = myPDFDocument ;
PDFPage * firstPage = [myPDFDocument pageAtIndex:0] ;
NSRect myBounds = [firstPage boundsForBox:kPDFDisplayBoxMediaBox] ;
NSRect myNewBounds = NSMakeRect(0, 0, myBounds.size.width*2, myBounds.size.height*2+5) ;
myPDFView.frame = myNewBounds ;
myPDFView.autoScales = YES ;
return myPDFView ;
缺点:
2
。为什么我的PDF在NSView中显示的尺寸小于Finder?答案 0 :(得分:0)
我没有看到你用NSImageView描述的问题。我实现了一个基于nib的窗口和NSImageView。在我的情况下,我有一个重叠的兄弟视图,所以我在笔尖打开了CALayers。我在10.9.2。大小调整是正常的(1x)并且我的PDF中的文本是消除锯齿的(我认为是子像素,因为当我将其打开时我会看到颜色)。我确实没有缩放 - 也许缩放是防止消除锯齿的文本?
否则我的猜测是你的观点或PDF内容有所不同。尝试更简单的PDF和/或基于笔尖的视图,如果有效,您可以查找差异。