A PHP library for reading and manipulating contents and metadata of EPUB files.

v1.0.1 2023-05-28 09:44 UTC

This package is auto-updated.

Last update: 2024-12-28 13:37:31 UTC


README

PHP library for reading metadata, document structure, and plain text contents from EPUB files.

Origin

This PHP EPUB library is a fork of splitbrain/php-epub-meta. The original code was changed quite a bit to fit our more conventional PHP coding standards in a symfony environment. Additional functionality includes reading the TOC/spine structure of EPUBs and extracting contents from contained XML files.

Installation

Using composer:

composer require hans-thomas/epub

Usage

<?php

// Open an EPUB file
$epub = new Epubli\Epub\Epub('/path/to/your/book.epub');
// and read some of its metadata
$title = $epub->getTitle();
$authors = $epub->getAuthors();
$desc = $epub->getDescription();

// Get the EPUB’s structural elements
$toc = $epub->getToc();
$spine = $epub->getSpine();

// Iterate over the EPUB structure
foreach ($spine as $spineItem) {
    // Get some text from the EPUB
    $chapterText = $spineItem->getContents();

    // Or find all navigation points pointing to that spine item
    $navPoints = $toc->findNavPointsForFile($spineItem->getHref());

    // Do something useful with the NavPoints.
    
    // At the end, don't forget to close the spine item
    $spineItem->close();
}