在10.10上的iBooks中,书本可以具有系列元数据,如图所示。
我需要将哪些元数据添加到外部epub(即不是来自ibook商店),以便可以按系列显示?
在10.10上的iBooks中,书本可以具有系列元数据,如图所示。
我需要将哪些元数据添加到外部epub(即不是来自ibook商店),以便可以按系列显示?
Answers:
我做到了,但是有点棘手。
摘要:
您必须在〜/ Library / Containers / com.apple.BKAgentService / Data / Documents / iBooks / Books中更改要在系列中拥有的书籍的Books.plist文件,并且还必须在BKSeries中添加行〜/ Library / Containers / com.apple.iBooksX / Data / Documents / BKSeriesDatabase 上的-*。sqlite数据库及其系列。
这是我的操作方式:
该数据库具有4个表:ZBKSERIESCHECK,ZBKSERIESITEM,Z_PRIMARYKEY和Z_METADATA。我只更改了前三个表。这些表中的“系列”就像一本书。
在表ZBKSERIESCHECK中添加书籍和系列。该表有5列。
这是我添加的数据表。
我使用的zAdamId来自Calibre,因此我假设您可以使用任何数字。请记住,这些数字必须与您购买的系列/书籍不同。
zAdamId为“ 1”的行是我的系列,其他是书。
在表ZBKSERIESITEM中的书籍和系列中添加关系。该表有16列。
调整表Z_PRIMARYKEY。
我发现该表只有两行。每个前面的表一个。
在这里,你必须改变Z_MAX列到的MAX(*)值Z_PK在先前的每个表。例如,在我的数据库中,对于表ZBKSERIESCHECK(BKSeriesCheck),列Z_PK的MAX(*)为“ 22”。
保存更改。
打开Books.plist文件。查找该系列的每本书,并添加以下键:
保存文件。关闭iBooks(如果您从一开始就没有关闭它)。终止com.apple.BKAgentService进程。启动iBooks。您应该能够看到自己的系列。
笔记
我没有命名的那些列,我只是将它们留空,并没有影响最终结果。
我认为,当您拥有大量书籍和丛书时,很难正确放置所有书籍和丛书。希望有一天能看到可以自动完成所有操作的功能。
这是我的第一篇文章。我希望每个人都认为它有用。
我有一个解决方案:
前往iBooks商店并下载您要使用的书籍的样本。
将扩展名从.epub更改为.zip。
解压缩zip并删除名为“ OPS”的文件夹(漫画的OEBPS)。
找到您拥有的电子书,然后从.epub更改为.zip。
解压缩并找到OPS。
将OPS移至示例电子书文件夹。
选择示例中的所有文件,然后创建一个.zip。
将扩展名更改为epub。
对系列中的每本书都做同样的事情。
拖放到iTunes中。
同步,您就可以开始了!
不过,在进入iBook商店时请务必小心,如果看到编辑过的电子书,它将带有一个显示“更新”的按钮。不要单击更新,否则您将不得不重新做一次。
它比必须编辑sqlite容易得多,并且可以在Mac和Windows上使用。
我注意到,在iBooks中,我有一本书(继承),iBooks作为系列的一本书(在我的情况下称为“ Eragon”而不是“ The Farseer Trilogy”)突出显示。为了对此进行研究,我下载了Inheritance,并使用Requiem(在旧的虚拟机上)剥离了DRM,以便可以在本书的源代码中查找。
不幸的是,我有个坏消息。我使用Sigil搜索“ Eragon”一词。“ Eragon”一词在epub中的元数据中不显示,表明这是不可能的;iBook显然将系列信息与实际的epub文件分开保存。