2013-05-15 2 views
0

Я пытаюсь создать продвинутый читатель ePub с использованием jQuery и PHP/Zend Framework1.12 (для формата epub3.0). Читатель должен содержать следующие функции:Advanced ePub reader

  • книги должна быть отображена с помощью страниц (2 страницы за один раз)
  • пользователь должен иметь возможность перемещаться между страницами и главой с помощью ползунка
  • пользователя может создавать бликов и закладки страниц
  • читатель должен быть кросс-браузер (я не слишком заботится о старых версиях IE, но он должен работать на Safari, Mozilla, Chrome)

Моя идея заключается в том, чтобы сделать некоторые ки nd парсера PHP, который будет обрабатывать контент epub и передавать его на Javascript-код в более «дружественном» формате, но раньше я не работал с epubs, и я не уверен, с чего начать.

Вот несколько вопросов, которые я боролся с:

  1. Первая проблема, которую я столкнулся в том, как извлечь содержимое из архива .epub и вынести его в таким образом, что будет разрешить разбиение на страницы. Какую библиотеку PHP вы бы порекомендовали для разбора epubs? Я уже тестировал некоторые библиотеки, такие как BookGluttonEpub (кажется довольно старым) и EPUBParser (трудно понять, поскольку нет примеров и документов). Есть ли другие, которых я пропустил?

  2. Должен ли я очищать html-код (например, удалять недопустимые теги, например), прежде чем передавать его читателю?

  3. Что вы считаете лучшим способом отображения страниц? Должен ли я использовать CSS и свойство «column»? Или я должен сделать более сложный скрипт, который разделит содержимое html главы на страницы?

Благодаря

ответ

0

сначала извлечь файл .epub, его же, как ваш почтовый файл, так что вы можете использовать библиотеку PHP распаковать и не нужно разобрать HTML или CSS. Вы можете создать своего читателя, используя свойства холста HTML5 и CSS 3.

Я думаю, что лучший вариант - использовать HTML5 и CSS3, если вы не считаете совместимость с IE.

+0

Я согласен, что использование HTML5 и CSS3 представляется лучшим решением. Не уверен, согласен ли я с первой частью, это означает, что мне нужно будет использовать только код Javascript для рендеринга. В этом случае мне пришлось бы загружать все файлы epub и вычислять длину каждой главы (использовать в навигационном слайдере), что может быть медленным для больших epubs. –

+0

Я построил следующее решение: 1. Использовал HTML5 и CSS3 для рендеринга (читатель не работает на IE8 & 9); 2. Рассчитал процентные показатели прогресса, используя размер файла каждой главы (это приблизительное значение, так как оно не учитывайте, сколько пространства занимают изображения); 3. Используется jQuery для создания бликов/закладок. При навигации по ним основные моменты просматриваются в каждом файле главы с использованием процентной доли прогона (например, где в книге они находятся) и текст, который был выбран. Закладки создаются аналогичным образом, путем имитации щелчка на странице. –

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