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

2024-03-02

我创建了支持 pdf 和 ePub 格式的书籍应用程序。在该应用程序中,pdf 仅显示为图像,而 ePub 在 Web 视图中打开,因为 EPUB 只是存储在带有 XML 清单的 zip 文件中的 XHTML。现在,我想改变字体样式 and 字体颜色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];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 iOS 中更改 ePub 图书的字体颜色和字体样式? 的相关文章

  • 将 Xcode 4.5 新 XIB 文件恢复到 iOS<6

    我已经安装了Xcode 4 5 with iOS6 SDK以及其他用于测试目的的旧 SDK 从 4 3 到 6 0 很美 但是有一个BIG问题 生成一个新的 XIB 文件以兼容 iOS6 这是一个问题 因为我的应用程序需要运行在旧设备 不只
  • React Native ios运行问题

    我是反应本机和运行新手yarn ios我的 React Native 项目不断失败并出现以下错误 构建失败 以下构建命令失败 编译C Users gift Library Developer Xcode DerivedData gainer
  • 如何通过我的 ios 应用程序的指示打开苹果地图应用程序

    我的目标是从 ios 应用程序打开带有方向的地图应用程序 我可以打开地图应用程序 但它没有显示方向 我编写的代码如下 NSString mystr NSString alloc initWithFormat http maps apple
  • Cordova - 启动后出现白屏,控制台中没有例外

    我已经离开我的 Cordova 应用程序一段时间了 但昨天刚刚进行了一次新的克隆 发现它出现了 死机白屏 症状 启动画面显示 程序加载 然后我就得到一个空白屏幕 更多细节 CLI 科尔多瓦 6 1 1 安卓 5 1 1 ios 4 1 1
  • 返回一个dispatch_async获取的变量[重复]

    这个问题在这里已经有答案了 基本上 一个方法需要返回一个在dispatch async中获取的NSDictionary 这是我尝试过的 NSDictionary fetchNSDictionary dispatch queue t Queu
  • Cordova Phonegap“导出失败”错误代码 70 构建 ios 时

    我目前正在使用 Cordova Phonegap 构建 iOS 应用程序 本来工作正常 但现在运行时出现错误cordova build ios在终端中 我收到以下错误 导出失败 错误 命令的错误代码 70 带有参数的 xcodebuild
  • Swift 3 中数组的 indexOf(_:) 方法的替换

    在我的项目 用 Swift 3 编写 中 我想使用从数组中检索元素的索引indexOf 方法 存在于 Swift 2 2 中 但我找不到任何替代方法 Swift 3 中是否有任何好的替代方法或类似的方法 Update 我忘记提及我想在自定义
  • 如何将 CIFilter 输出到相机视图?

    我刚刚开始使用 Objective C 我正在尝试创建一个简单的应用程序 它显示带有模糊效果的相机视图 我得到了与 AVFoundation 框架一起使用的相机输出 现在 我正在尝试连接 Core 图像框架 但不知道如何连接 Apple 文
  • 如何避免 NSNumberFormatter 中的四舍五入

    我试图拥有一个最大精度为 2 位小数的数字字符串 而其余小数只是被修剪掉而不是四舍五入 例如 I have 123456 9964 I want 123456 99 gt Just want to trim rest of the deci
  • Excel 工作表到 iPhone 数据 -- A 点到 B 点

    尽可能简单 我有一个非常简单的 Excel 电子表格 只有 1000 多条记录 我想将其用作 iPhone 应用程序的静态数据源 最好的进攻计划是什么 我心中的可能性 1 直接读取XLS作为数据源 是否有Obj C库用于此 2 将XLS 转
  • 尝试注册 RCTBridgeModule 类 RCTFileReaderModule

    尝试为名称 FileReaderModule 注册 RCTBridgeModule 类 RCTFileReaderModule 但该名称已由类 FileReaderModule 注册 尝试使用命令react native run ios在i
  • TableView 中图像的大小不正确

    我正在使用来自 URL 的图像创建一个表视图 但图像不会调整到所有视图的大小 直到我将其按入行中 知道为什么会发生这种情况吗 这是一个自定义的表格视图 我的代码是 UITableViewCell tableView UITableView
  • 使用 NSFileHandle 覆盖数据

    使用 NSFileHandle 使用 truncateFileAtOffset 从文件末尾删除 n 个字符非常容易 void removeCharacters int numberOfCharacters fromEndOfFile NSF
  • 在移动网站中处理 iPhone 事件(如向左滑动)

    iPhone 浏览器是否有可以使用 Javascript 挂钩的特殊事件 例如 如果用户向左滑动 我想执行某个操作 如果有类似的活动 很高兴看到所有这些活动的参考 理想情况下 有一天所有触摸屏移动浏览器都会有一个标准 您可以访问多点触控事件
  • 如何像谷歌日历一样将单元格的内容滚动到表格视图中的另一个单元格中?

    我希望用户界面像谷歌日历那样进入桌面视图 它在不同的行中显示相同的日期事件 但是当您向上或向下滚动时 左侧的日期也会向上向下滚动 Can you please help me how to achieve this Please take
  • Apple 如何在机场菜单打开时更新它? (当 NSMenu 已经打开时如何更改它)

    我有一个状态栏项目 可以弹出一个 NSMenu 并且我有一个委托集 并且它已正确连接 void menuNeedsUpdate NSMenu menu工作正常 也就是说 该方法设置为在显示菜单之前调用 我需要监听该方法并触发异步请求 稍后在
  • ArraySlice 中的 Swift [重复]

    这个问题在这里已经有答案了 在数组上使用 prefix 方法后 我得到了所谓的 arraySlice 我怎样才能将其转换为数组 我试图从 FacebookGraphApi 获取 Ints 然后请求前 3 个 前缀 3 并尝试将它们添加到新数
  • 如何在运行仅 iPhone 应用程序(非通用)的 iPad 上的 UIPickerView 中支持 VoiceOver?

    一般来说 我会查看 Apple 的 UICatalog 示例代码以获取基本的 VoiceOver 支持 但示例代码中似乎有对 UIPickerViews 的 VoiceOver 支持 我是否需要在某处提供accessibilityLabel
  • 弱变量中间为零

    弱变量什么时候变为零 weak var backgroundNode SKSpriteNode texture SKTexture image initialBackgroundImage backgroundNode position C
  • iOS 7 导航栏颜色在 iPhone 4 上无法正确显示

    我的导航栏颜色在 iOS 7 中正常显示 部署iOS 6 0 但如果系统版本是iOS 7 0或更高版本 部分导航栏颜色在iPhone 4上无法正常显示 在iPhone 5上工作正常 我是这样做的 if SYSTEM VERSION GREA

随机推荐

  • 比较文件名

    我想比较两个不同文件夹中的文件 我只想比较这两个不同文件夹中具有相同名称的文件 我想做的是比较一个软件的两个不同版本并找出有多少文件被更改 这将帮助您获取两个路径的文件 import java io File import java uti
  • 为什么 python webassets pyscss 不能在调试模式下从 scss 文件重新生成 css?

    我在 python webassets 库中使用 pyscss 编译器 并将 webassets 调试配置全部设置为 true 但是 当我对 scss 文件进行更改并重新加载包含生成的 css 文件的页面时 我发现 css 文件尚未重新生成
  • int main() { } (不带“void”)在 ISO C 中有效且可移植吗?

    C 标准指定了两种形式的定义main为一个 托管实施 int main void and int main int argc char argv 它可以以与上述 等效 的方式定义 对于 例如 您可以更改参数名称 替换int通过 typede
  • 查询客户交易数据

    我正在构建一个类似于个人理财的应用程序 为此 我需要获取有关该客户交易的信息 我设法运行了获取基本个人数据 https developer paypal com docs classic permissions service integr
  • 带中缀表示法的点自由样式

    您好 有没有办法在使用中缀表示法时编写点自由样式 f Int gt Int gt Int gt Int f a b a b 为什么你不能做这样的事情 f Int gt Int gt Int gt Int f a b a b or f a b
  • 使用 control.begininvoke 后 UI 仍然没有响应

    我制作了一个 C winforms 应用程序 现在我有一个带有很多按钮的表单 这些按钮调用大量的数字运算函数 其输出在文本框中更新 我调用 textbox begininvoke 方法 将委托传递给更新文本框中文本的函数 但是当文本很大时
  • 无法在单用户模式下启动sql server

    我正在尝试恢复我的本地 sql server sa 密码 我读到应该将其置于单用户模式 我就这样做了 我添加了 m 到启动参数 我没有运行 sql 代理 我重新启动了 Sql Server 当我尝试时 sqlmd S sqlexpress
  • Ruby on Rails 中的模型关系

    我正在 Rails 3 中开发一个新应用程序 但我不确定如何建立模型之间的关系 基本上我有一个model User and a model Project 用户可以创建项目 成为项目所有者 但除项目所有者之外的任何其他用户也可以加入该项目
  • 如何检查数组中的非零值(元素)

    我想知道如何编写一个函数来返回是否至少有三个值不等于 0 我搜索过类似的问题 但找不到任何有效的解决方案 为了解释我的问题 这里有一个例子 我有一个包含这些元素的数组 1 0 2 0 4 0 0 3 0 0 我想检查是否至少有 3 个元素不
  • file.read()、file.readline() 和迭代文件对象之间的区别[重复]

    这个问题在这里已经有答案了 我是计算机科学的新手 正在尝试在 python 中创建一个函数来打开我的计算机上的文件 我知道这个函数f readline 将当前行作为字符串抓取 但是这些函数的作用是什么f read and for line
  • Python - 将日期的字符串表示形式转换为 ISO 8601

    在Python中 如何转换这样的字符串 2010 年 12 月 16 日星期四 12 14 05 0000 为 ISO 8601 格式 同时保留时区 请注意 原始日期是字符串 输出也应该是字符串 而不是datetime或类似的东西 不过 我
  • 将 abel 包裹在复合材料中

    I have ScrolledComposite只允许垂直滚动 heighthint 400 在这个 ScrolledComposite 中 我还有另一个CompositeA 滚动高度可能超过 400 来存储所有其他小部件 我有一个很长的标
  • PIL ValueError:图像数据不足?

    当我尝试从 URL 获取图像并将其响应中的字符串转换为Image在 App Engine 内 from google appengine api import urlfetch def fetch img url try result ur
  • ConcurrentQueue 保存对象的引用或值? “内存不足”异常

    排队到 ConcurrentQueue 的对象是被复制到队列还是仅复制到它们的引用 我不明白任何场景 解释 我这样定义了一个 ConcurrentQueue BufferElement is a class I created privat
  • 可观察队列?

    是否有人编写了实现 INotifyCollectionChanged 的 Net 通用队列版本 或者是否已经在 Net 框架深处隐藏了某个版本 快速搜索没有显示任何结果 但接口很简单 扩展 Queue 类并添加对该接口的支持几乎是微不足道的
  • Dropbox SDK 401 错误

    我正在使用 Dropbox SDK 并且已将其设置为应用程序只能访问 Apps MyAPP 文件夹 我正在测试它并在线删除了该文件夹 现在 当我在应用程序中而不是要求重新链接 Dropbox 时 它会给我一个 401 错误 我不知道为什么它
  • Docker 在构建期间不会创建目录

    第一次尝试使用 Docker 在我的 Dockerfile 中执行以下步骤来创建目录 但是当我运行容器时 该目录不存在 FROM ubuntu MAINTAINER AfterWorkGuinness RUN apt get update
  • actix-web 中“扩展”的作用是什么?

    我想弄清楚如何Extension https docs rs actix web 3 3 2 actix web dev struct Extensions htmls 创建于Actix 网络 https crates io crates
  • 无法将焦点设置在 Windows 窗体文本框上

    当选项卡页首次出现时 我似乎无法在文本框中获得输入焦点 我正在使用 Windows 窗体 VB NET 3 5 我在选项卡页的面板上有一个文本框 我希望当选项卡页出现时焦点位于文本框上 我希望用户能够立即开始在聚焦的文本框中键入内容 而无需
  • 如何在 iOS 中更改 ePub 图书的字体颜色和字体样式?

    我创建了支持 pdf 和 ePub 格式的书籍应用程序 在该应用程序中 pdf 仅显示为图像 而 ePub 在 Web 视图中打开 因为 EPUB 只是存储在带有 XML 清单的 zip 文件中的 XHTML 现在 我想改变字体样式 and