[英]Count total number of pages in epub
我是epub新手。 我有許多不同的epub格式文件,並且我將在線閱讀此文件。 我對epub文件中的內容不太了解? 有什么辦法可以讓我知道我的epub
文件中有多少頁? 如果可以的話,我可以使用xml
, javascript
, PHP
或任何其他方式來實現。
Epub文件是響應式電子書,可根據屏幕尺寸更改頁面數。 頁碼也取決於查看器的應用程序和設備。
EPUB文件基本上是一個ZIP文件,其中包含:
mimetype
文件,用於輕松檢測文件類型( application/epub+zip
); META-INF/container.xml
文件,該文件描述了EPUB文件中包含的不同類型的發布。 通常只有一個,但是原則上您可以在同一EPUB文件中包含例如相同文本的HTML和PDF版本,閱讀應用程序或用戶可以決定查看哪一個; file.opf
),是包含以下內容的清單文件:
XHTML
文件,EPUB 2中的NCX
文件),它描述目錄,通常通過閱讀應用程序進行分析以顯示“目錄”面板/窗口。 EPUB 3文件有兩種格式(即風味): pre-paginated
或reflowable
,而EPUB 2文件僅reflowable
。
pre-paginated
(又稱“固定布局”)意味着電子書基本上就像PDF,其中每個“頁面”都有預定的大小,例如800x600 px,但是每個頁面都被編寫為XHTML文件而不是二進制Blob 。 這種演示文稿用於插圖和兒童讀物,在這些地方,准確放置圖像至關重要。
reflowable
意味着沒有預定的分頁,因此文本“流動”以適應閱讀設備的屏幕尺寸以及用戶的字體高度/邊距/行擴展選擇。 它基本上就像一個網站(=一組網頁),打包成一個ZIP文件。 這是迄今為止EPUB最常見的味道。
因此,如果您具有pre-paginated
EPUB,則可以通過簡單地計算主干中的XHTML文件數來確定頁面數,因為XHTML文件和頁面之間必須存在一一對應的關系。
如果您具有reflowable
排的EPUB,則沒有頁面的固有概念。 一些閱讀應用程序通過計算文本中的字符數,然后將該數字除以某個常數(例如,每頁1024
字符)來計算“頁數”。 但這當然只是一個粗略的估計,不一定與顯示文本所需的“屏幕”數量相對應,這又取決於閱讀應用程序和用戶的印刷選擇(字體大小,邊距,行傳播等)。 其他一些閱讀應用程序僅顯示進度百分比,該進度是使用到目前為止所看到的文本字符數除以文本中的字符總數計算得出的。
作為參考,完整的EPUB規范位於: http : //idpf.org/epub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.