아직 필요한지 확실하지 않습니다. 하지만 어쨌든, 이것은 내가 구현 한 방법이다.
(1) UIWebView
을 사용하여 PPT의 내용을 표시한다. 올바른 형식의 (!) HTML을 사용하면 구문 분석 할 수 있습니다. 사용하여 HTML을 가져
NSString *htmlContent = [self.webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
(2) 슬라이드 수를 얻을 수 div class = 'slide
의 수를 계산
(4) 당신은 아래의 코드
를 사용하여 스타일을 얻을 수있는 HTML 및
div
을 구문 분석 할 필요가
(5)
- (NSString *)getStyles:(int)slideCount forView:(UIWebView *)view {
NSString *getElementByTag = [[NSString alloc] init];
NSString *allStyles = [[NSString alloc] init];
for (int i = 0; i < slideCount; i++) {
getElementByTag = [NSString stringWithFormat:@"document.getElementsByTagName('style')[%d].innerHTML", i];
NSString *style = [[view stringByEvaluatingJavaScriptFromString:getElementByTag] stringByAppendingString:@"\n"];
allStyles = [allStyles stringByAppendingString:style];
}
allStyles = [@"<style type='text/css'>" stringByAppendingString: allStyles];
return [allStyles stringByAppendingString:@"</style>"];
}
(6)
div
태그 함량이 5 단계에서 모든 스타일을 연결할 모든 스타일을 가져옵니다. 나중에 참조 할 수 있도록 스타일이있는 모든 슬라이드를 저장할 변수를
NSMutableArray
으로 정의하십시오. 모든 슬라이드
- (void)makeSlides:(int)slideCount forView:(UIWebView *)view {
self.slides = [[NSMutableArray alloc] init];
for (int i = 0; i < slideCount; i++) {
NSString *slideBody = [NSString stringWithFormat:@"document.getElementsByClassName('slide')[%d].innerHTML", i];
NSString *div = [view stringByEvaluatingJavaScriptFromString:slideBody];
NSString *slide = [self.slideStyles stringByAppendingString:div];
[self.slides addObject:slide];
}
}
희망이
출처
2013-08-08 14:46:22
Ram
이 멋진 통찰력을 주셔서 감사합니다 도움을 저장하는
NSMutableArray *slides
을 정의는 웹보기가 실제로 파워 포인트 문서를 변환 분명하지 않았다 (및 PDF, 문서, ECC) 일반 HTML로! 이 스키마가 버전간에 변경 될 가능성은 여전히이 기능의 악용 가능성을 크게 제한합니다. html이 이전 버전과의 호환성을 유지한다는 신뢰할 수있는 기술 문서를 찾았습니까? (예 : iOs4.x 이후의 기능 및 변경 사항을 통지하지 않았다)? – Rick77감사합니다 Rick77. 당신 말이 맞아요. iOS 라이브러리의 내부적 인 변경으로 인해이 접근법은 쓸모가 없습니다. 난 그냥 innerHTML 콘텐츠를 통해 이것을 설계했습니다. 다른 문서를 찾지 못했습니다. 필자는 ios5.0에서 ios6.1까지이 접근법을 테스트했으며 이것이 효과가있었습니다. – Ram
정보를 제공해 주셔서 감사합니다! – Rick77