EPUB格式图书的小问题

date
Feb 16, 2023
slug
90
status
Published
tags
TEMP
summary
EPUB格式IOS图书应用图片无法加载地处理
type
Post
Property
URL

一.问题现象

下载的一部分epub电子书在iOS、MacOS和个别阅读APP里图片链接无法加载,如下图所示。
notion image
 

二.原因分析

epub格式的图书其实就是HTML文件的打包,既然无法打开首先判断是不是格式问题导致的,如果转换格式问题依旧,然后再看数据源,平常Win端用Calibre看图书,自带格式转换和元数据查看。

1.格式问题

将图书转换为常规MOBI、AZW3格式,问题依然存在,PDF倒是没问题了,但是PDF不能自适应缩放,阅读体验太差,搁置。

2.链接问题

用Calibre打开图书元数据,定位到src,链接是能打开的,img标签已指向本地文件名和链接,但是包里面并没有打包图片文件,而链接图床指向CSDN在阿里云的图床。苹果设备默认图书和一些APP加载不出图片,应该是应用不信任第三方链接,本包没有文件,链接无法加载,问题就出现了。
notion image

三.解决过程

既然图床没问题,直接批量拉取链接的图片,图片导入图书元数据,再批量替换img标签的对应文件名称。

1.解压epub格式图书,读取xhtml文件里的src地址,并下载图片存储

再次更新:优化函数,引入多线程获取URL及下载图片,速度从2664张图片四五十分钟到几秒钟(8核心)。

2.导入下载的所有图片到解压的元数据里,替换元数据里所有xhtml里的src为本地,打包成新的epub格式文件。

 

3.问题解决

终于都能加载看看书了,就是文件撑得有点大,从434.46KB到了63.25MB,图片挂图床节省空间、省流可以理解,但是看不懂CSDN大哥为什么要手动把图片文件名称改的乱糟糟、jpg和png换着来,有些没有规律的还要一个个改动,可能这就是所谓的商业护城河吧。哪天他们阿里云的对象存储图床挂了,或者公司倒闭了,他们分发出来的盗版书大家都别想看?盗版图书来要版权,又一个视觉中国、知网似的迷惑行为。
notion image

© Viefane 2019 - 2025