Я новичок в epub. У меня есть много разных файлов формата epub, и я собираюсь прочитать этот файл в Интернете.
Я понятия не имею, что находится в файле epub?
Есть какой-то способ, чтобы я мог знать, сколько страниц в моем epub
файл ?
Я могу сделать это используя xml
, javascript
,PHP
или любым другим способом, если у вас есть.
Файлы Epub являются адаптивными электронными книгами, которые изменяют количество страниц в соответствии с размером экрана.
Также номера страниц зависят от приложения просмотра & устройство.
Файл EPUB представляет собой ZIP-файл, который содержит:
mimetype
файл для легкого определения типа файла (application/epub+zip
);META-INF/container.xml
файл, описывающий различные типы публикаций, содержащихся в файле EPUB. Обычно есть только один, но в принципе вы могли бы иметь, например, HTML и PDF-версии одного и того же текста в одном и том же файле EPUB, и приложение для чтения или пользователь могут решить, какой из них просматривать;file.opf
) который является файлом манифеста, содержащим:
XHTML
файл в EPUB 3, NCX
файл в EPUB 2), который описывает оглавление и обычно анализируется при чтении приложений для отображения панели / окна «оглавление».Файлы EPUB 3 представлены в двух версиях (то есть, разновидности): pre-paginated
или же reflowable
в то время как EPUB 2 файлы только reflowable
,
pre-paginated
(он же «фиксированный макет») означает, что электронная книга в основном похожа на PDF, где каждая «страница» имеет заранее определенный размер, например 800×600 пикселей, но каждая страница записывается в виде файла XHTML вместо двоичного двоичного объекта. Этот тип воспроизведения используется для иллюстрированных и детских книг, где точное размещение изображений имеет решающее значение.
reflowable
означает, что нет заранее заданной нумерации страниц, следовательно, текст «течет», чтобы адаптироваться к размеру экрана считывающего устройства и к выбору высоты шрифта / поля / ширины шрифта пользователя. Это в основном похоже на веб-сайт (= набор веб-страниц), упакованный в один ZIP-файл. Это, безусловно, самый распространенный аромат EPUB.
Как следствие, если у вас есть pre-paginated
EPUBs, вы можете определить количество страниц, просто посчитав количество XHTML-файлов в корешке, поскольку между XHTML-файлами и страницами должно быть взаимно-однозначное соответствие.
Если у вас есть reflowable
EPUBs, нет внутренней концепции страницы. Некоторые приложения для чтения вычисляют «количество страниц» путем подсчета количества символов в тексте, а затем деления этого числа на некоторую константу (например, 1024
знаков / страница). Но, конечно, это только приблизительная оценка, и она не обязательно соответствует количеству «экранов», необходимых для отображения текста, что, опять же, зависит от типографского выбора приложения для чтения и пользователя (размер шрифта, поля, разводка линий и т. д.). Некоторые другие приложения для чтения просто отображают% прогресса, вычисленный с использованием количества символов текста, увиденного на данный момент, деленного на общее количество символов в тексте.
Для справки, полная спецификация EPUB здесь: http://idpf.org/epub