五中方案
UIFont *font = [UIFont systemFontOfSize:12];
//方法一
NSString *fontColor =@"CCCCFF";
NSString *htmlString =[NSString stringWithFormat:@"<html> \n"
"<head> \n"
"<style type=\"text/css\"> \n"
"body {font-family: \"%@\"; color: %@;}\n"
"</style> \n"
"</head> \n"
"<body>%@</body> \n"
"</html>", font.familyName,fontColor,self.html];
//方法二
NSString* htmlString = [NSString stringWithFormat:@"<span style=\"font-family: %@!important; font-size: %i\">%@</span>",
font.fontName,
(int) font.pointSize,
self.html];
//方法三
NSString *htmlString = [NSString stringWithFormat:@"<font face='%@' >%@", font.fontName,self.html];
//以上三种方法都需 提起获取到 html,然后用下面方法加载html
[self loadHTMLString:htmlString baseURL:DDWebBaseURL];
//方法4 也可以在webview中代理方法中修改 这种方法体验不好
- (void)webViewDidFinishLoad:(UIWebView *)webView {
UIFont *font = [UIFont systemFontOfSize:14];
NSString *script = [NSString stringWithFormat:@"document.body.style.fontFamily = '%@'",font.familyName];
[webView stringByEvaluatingJavaScriptFromString:script];
}
//通过修改DOM,修改特定节点的样式
NSString *script1 = @"document.getElementsByClassName('component-item component-content')[0].getElementsByTagName('p')[0].style.fontSize='30px'";
NSString *script = @"document.getElementsByClassName('component-item component-content')[0].getElementsByTagName('p')[0].style.fontFamily='DFWaWaW5'";
NSString *html341 =[webView stringByEvaluatingJavaScriptFromString:script1];
NSString *html34 =[webView stringByEvaluatingJavaScriptFromString:script];
//方法5 [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust = '200%'"];
复制代码
在项目中使用webview打开doc、pdf等文件时,我采用的是第5种方式,将页面的字体进行放大