一千萬個為什麽

搜索

如何提取epub文件直至第一章,並用提取的內容創建新的epub



我有一個epub文件,其中有 n 的章節數。我必須復制或提取多達1個章節,並創建一個僅包含1個章節的新epub文件,以便向用戶顯示僅包含一章的示例文件。如果用戶購買這本書,我需要展示原書。

我知道epub.js查看器,但是我怎樣才能滿足PHP和jQuery/JavaScript以及任何其他語言(如.net,Java或Python等)的上述要求?有什麽建議麽?

轉載註明原文: 如何提取epub文件直至第一章,並用提取的內容創建新的epub

一共有 1 個回答:

EPUB文件由ZIP文件中的多個條目組成。要提取第一章,您必須首先確定如何知道第二章的起始位置,因為這不必與ZIP文件中的條目重合。

基本上你需要做的是:

  1. 提取並分析“META-INF/container.xml”以確定文檔的根內容文件位於EPUB的根目錄中,也可以位於子目錄中)
  2. 瀏覽內容文件中的項目,開始構建第一章並積累數據,直至您點擊第二章。
  3. 在途中,您可能需要照顧包含的圖片,交叉引用等。

收集完這些數據後,將第一章寫入新文件。應該註意這是一個有效的EPUB文件,它遵守一些較老的讀者所施加的對EPUB入口大小的限制(即將第一章的HTML分成足夠小的塊)。具有良好XML庫(包括命名空間),HTML解析和處理zip文件的任何語言都應該完成這項工作。我傾向於使用Python。