2016-11-11 5 views
0

Я новый с epub. У меня много разных файлов формата epub, и я собираюсь прочитать этот файл в Интернете. У меня нет большой идеи о том, что находится в файле epub? Есть какой-либо способ, чтобы я мог знать, сколько страниц в моем epub файле? Я могу это сделать, используя xml, javascript, PHP или любым другим способом, если у вас есть.Общее количество страниц в epub

ответ

1

Файлы Epub являются отзывчивыми ebooks, которые меняют количество страниц в зависимости от размера экрана. Также номера страниц зависят от приложения-приложения &.

1

EPUB файл в основном ZIP-файл, который содержит:

  • mimetype файла для обнаружения простого типа файла (application/epub+zip);
  • a META-INF/container.xml файл, описывающий публикации различных типов, содержащиеся в файле EPUB. Обычно есть только один, но в принципе у вас может быть, например, версии HTML и PDF одного и того же текста внутри одного и того же файла EPUB, а приложение для чтения или пользователь могут решить, какой из них просматривать;
  • БКП файл (например, file.opf), который является файл манифеста, содержащий:
    • метаданные (название, автор и т.д.)
    • список активов внутри контейнера (XHTML-файлы, изображения, шрифты, CSS таблицы стилей и т.д.)
    • позвоночника, то есть порядок чтения по умолчанию публикации
  • ТОС файл (XHTML файл в EPUB 3, NCX файл в EPUB 2), описывающего оглавление a nd обычно анализируется путем чтения приложений для отображения панели/окна «Оглавление».

EPUB 3 файлы бывают двух выдач (то есть, ароматизаторы): pre-paginated или reflowable, в то время как EPUB 2 файла только reflowable.

pre-paginated (aka «fixed layout») означает, что книга в основном похожа на PDF, где каждая «страница» имеет предварительно определенный размер, например. 800x600 px, но каждая страница записывается как файл XHTML вместо двоичного blob. Этот тип исполнения используется для иллюстрированных и детских книг, где важно точное размещение изображений.

reflowable означает, что нет предопределенной разбивки на страницы, поэтому текст «течет», чтобы адаптироваться к размеру экрана считывающего устройства и к вариантам высоты шрифта/маржи/линии распространения пользователя. Это в основном как веб-сайт (= набор веб-страниц), упакованный в один ZIP-файл. Это, безусловно, самый распространенный аромат EPUB.

Как следствие, если у вас есть pre-paginated EPUB, вы можете определить количество страниц, просто подсчитав количество XHTML-файлов в позвоночнике, так как между файлами и страницами XHTML должно существовать взаимно-однозначное соответствие.

Если у вас есть reflowable EPUBs, нет принципиальной концепции страницы. Некоторые приложения чтения вычисляют «количество страниц», подсчитывая количество символов в тексте, а затем делят это число на некоторую константу (например, 1024 символов/страницу).Но, конечно, это всего лишь приблизительная оценка, и это не обязательно соответствует количеству «экранов», необходимых для отображения текста, что опять же зависит от типографских вариантов приложения чтения и пользователя (размер шрифта, распространение линии и т. д.). В некоторых других приложениях для чтения отображается только процент прогресса, вычисляемый с использованием количества символов текста, которые до сих пор были разделены на общее количество символов в тексте.

Для справки, полная спецификация EPUB здесь: http://idpf.org/epub

+0

Я забыл: в спецификации EPUB 3 есть способ ('pageMap'), чтобы определить карту между цифровым изданием и бумажным изданием, так что можно узнать, что определенное место в тексте находится на странице X в бумажном издании. Это функция, редко используемая вне образовательных книг, потому что некоторые приложения для чтения могут использовать эти данные, и относительно дорого вставлять их в EPUB. –

Смежные вопросы