如何在iOS中更改ePub Book的字体颜色和字体样式?

我创建了支持pdf和ePub格式的书籍应用程序。 在该应用程序中,pdf仅显示为图像,ePub在webview中打开,因为EPUB只是存储在带有XML清单的zipfile中的XHTML。 现在,我想更改ePub书页的字体样式字体颜色 。 可能吗? 如果可能的话,我该如何实现这一目标? 我搜索了很多,但没有得到任何适当的解决方案。

我找到了解决方案。 我创建了一个字符串并使用Java字符串进行评估

这就是我写的:

NSString *varMySheet = @"var mySheet = document.styleSheets[0];"; NSString *addCSSRule = @"function addCSSRule(selector, newRule) {" "if (mySheet.addRule) {" "mySheet.addRule(selector, newRule);" // For Internet Explorer "} else {" "ruleIndex = mySheet.cssRules.length;" "mySheet.insertRule(selector + '{' + newRule + ';}', ruleIndex);" // For Firefox, Chrome, etc. "}" "}"; NSString *insertRule1 = [NSString stringWithFormat:@"addCSSRule('html', 'padding: 0px; height: %fpx; -webkit-column-gap: 0px; -webkit-column-width: %fpx;')", webView.frame.size.height, webView.frame.size.width]; NSString *insertRule2 = [NSString stringWithFormat:@"addCSSRule('p', 'text-align: justify;')"]; NSString *setTextSizeRule = [NSString stringWithFormat:@"addCSSRule('body', '-webkit-text-size-adjust: %d%%;')", currentTextSize]; NSString *setHighlightColorRule = [NSString stringWithFormat:@"addCSSRule('highlight', 'background-color: yellow;')"]; // this is what change the text style NSString *insertRule3 = [NSString stringWithFormat:@"addCSSRule('html, body, div, p, span, a', 'font-family: arial;')"]; NSString *changeColor = [NSString stringWithFormat:@"addCSSRule('html, body, div, p, span, a', 'color: #1122CC;')"]; [webView stringByEvaluatingJavaScriptFromString:varMySheet]; [webView stringByEvaluatingJavaScriptFromString:addCSSRule]; [webView stringByEvaluatingJavaScriptFromString:insertRule1]; [webView stringByEvaluatingJavaScriptFromString:insertRule2]; [webView stringByEvaluatingJavaScriptFromString:setTextSizeRule]; [webView stringByEvaluatingJavaScriptFromString:setHighlightColorRule]; [webView stringByEvaluatingJavaScriptFromString:insertRule3]; [webView stringByEvaluatingJavaScriptFromString:changeColor];