在UIWebView中显示多页PDF(没有急躁):Safari如何做到这一点?

时间:2011-01-20 23:45:40

标签: ios pdf uiwebview

如果我将PDF加载到UIWebView:

if (!bundle)
    bundle = [NSBundle mainBundle];

NSString *filePath = [bundle
                      pathForResource:fileName ofType:@"pdf"];

UIWebView *webView = [[[UIWebView alloc] initWithFrame:view.bounds] autorelease];
webView.scalesPageToFit = YES;
[view addSubview:webView];


NSURL *pdfURL = [NSURL fileURLWithPath:filePath];

NSURLRequest *request = [NSURLRequest requestWithURL:pdfURL];
[webView loadRequest:request];

该应用就像移动Safari一样,除非必须进行分页:

移动版Safari 页面没有暂停,显示呈现为棋盘格的部分。相比之下, UIWebView 会停止移动,并最终突然移动到新位置。

MobileSafari运行良好,UIWebView是不可接受的。我还有哪些其他选项来显示多页PDF?或者我是否需要自己使用CGPDFPageRef处理多页面方面?

1 个答案:

答案 0 :(得分:1)

编辑刚刚意识到链接是指OS X编程,而不是iOS。遗憾。

您好,

我尝试了一些类似的代码我遇到了同样的问题,所以浏览器和UIWebView之间肯定存在一些差异。

在研究问题时,我可以跨越 SO 主题:“PDF in webview performance”我认为上一篇文章可能会帮助你。

编辑2:

我将使用的解决方案是将PDF转换为图像,并通过滚动将其加载到imageview中。最初可能需要一些时间来加载,但滚动动作将是平滑的并且不会滞后。