我有一个ipad应用程序,它在UIWebView中显示来自NSData的演示文稿演示文稿,我需要知道单个幻灯片的宽度/高度,所以我知道前进到下一张幻灯片时滚动多远。可以在iPad上计算Powerpoint演示文稿的宽度/高度
在PDF中,我可以使用CGPDFDocumentRef来计算它,如下所示,但是我找不到相应的powerpoint API,并且因为它是微软格式,所以我怀疑它甚至存在。
我可以使用JavaScript来确定整个演示文稿的宽度/高度,但这并不能帮助我知道能推进去一个单一的幻灯片,
代码做什么,我需要为PDF:
CFDataRef myPDFData = (CFDataRef)presentationContent;
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData);
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithProvider(provider);
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, 1);
CGRect pageRect = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
int pageHeight=(int)pageRect.size.height;
int pageWidth=(int)pageRect.size.width;
//now I can advance to the proper page by doing a scrollto pageHeight*currentPage
由于滑动的高度和宽度是在PPT演示级属性(换言之,所有幻灯片具有相同的尺寸),如果可以导出用于演示文稿中的高度,必须在呈现每个幻灯片的高度。但是,您是否真的在使用PPT和幻灯片,或者是否使用了其他应用程序对演示文稿内容的表示? –
@Steve,我正在使用UIWebView对幻灯片/演示文稿内容的表示。您可以在其上运行JavaScript来确定内容的高度/宽度,但高度= ENTIRE演示的高度,从幻灯片1中的第一个像素到幻灯片N中的最后一个像素。如果我能确定幻灯片的数量,则可以取这个数字并划分,但我不知道幻灯片的数量,并且无法知道。 – MrFurious
那么实际上整个演示文稿就变成了一个大的可滚动网页或类似的东西?我从背景中想到,情况可能是这样,但并不确定。每张幻灯片是否都被转换为图像(如果是这样,你能从DOM获得它的高度吗?) –