Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.1.0

epub

Epub-Parser für Dart. Geeignet für die Verwendung auf Servern, der Web oder in Flutter

30-Tage-Downloads
333
Likes
54
Pub-Punkte
35

Paket installieren

flutter pub add epub

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das epub-Paket ist eine Dart-Bibliothek zum Parsen und Lesen von EPUB-Dateien, die für Server-, Web- und Flutter-Umgebungen entwickelt wurde. Es ermöglicht Entwicklern, Inhalt, Metadaten und Struktur aus EPUB-Dokumenten programmatisch zu extrahieren. Das Paket unterstützt Standard-EPUB-Formate und bietet Zugriff auf Kapitel, Bilder und Formatierungsinformationen. Ideal für Anwendungen, die E-Book-Verarbeitung erfordern, wie z. B. Reader, Konverter oder Content-Management-Systeme.

Anwendungsfälle

  • EPUB-Dateien in Flutter-Apps lesen
  • E-Books auf dem Server parsen
  • Konvertieren von EPUB-Inhalten in andere Formate
  • E-Reader-Anwendungen erstellen
  • Metadaten aus E-Books extrahieren

Hauptmerkmale

  • Unterstützt das Standard-EPUB-Format
  • Plattformübergreifende Kompatibilität
  • Extrahiert Kapitel, Bilder und Metadaten
  • Leichtgewichtig und effizient
  • Open Source mit aktiver Wartung

Geeignet für

  • Flutter-Mobilanwendungen, die E-Book-Unterstützung benötigen
  • Server-seitige E-Book-Verarbeitung
  • Webbasierte E-Reader-Tools
  • Content-Aggregationsplattformen
  • Bildungs- oder Verlagssoftware

Hinweise

  • Beschränkt auf EPUB-Parsing (kein Schreiben)
  • Gültige EPUB-Dateien erforderlich
  • Kein integrierter Rendering-Engine
  • Abhängig von externen Abhängigkeiten für die Anzeige
  • Nicht für sehr große EPUBs optimiert

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

dart-epub

Build Status

Epub Reader and Writer for Dart inspired by this fantastic C# Epub Reader

This does not rely on the dart:io package in any way, so it is avilable for both desktop and web-based implementations

Installing

Add the package to the dependencies section of your pubspec.yaml

dependencies:
  epub: ^2.0.0

Example


//Get the epub into memory somehow
String fileName = "hittelOnGoldMines.epub";
String fullPath = path.join(io.Directory.current.path, fileName);
var targetFile = new io.File(fullPath);
List<int> bytes = await targetFile.readAsBytes();


// Opens a book and reads all of its content into memory
EpubBook epubBook = await EpubReader.readBook(bytes);
            
// COMMON PROPERTIES

// Book's title
String title = epubBook.Title;

// Book's authors (comma separated list)
String author = epubBook.Author;

// Book's authors (list of authors names)
List<String> authors = epubBook.AuthorList;

// Book's cover image (null if there is no cover)
Image coverImage = epubBook.CoverImage;

            
// CHAPTERS

// Enumerating chapters
epubBook.Chapters.forEach((EpubChapter chapter) {
  // Title of chapter
  String chapterTitle = chapter.Title;
              
  // HTML content of current chapter
  String chapterHtmlContent = chapter.HtmlContent;

  // Nested chapters
  List<EpubChapter> subChapters = chapter.SubChapters;
});

            
// CONTENT

// Book's content (HTML files, stlylesheets, images, fonts, etc.)
EpubContent bookContent = epubBook.Content;

            
// IMAGES

// All images in the book (file name is the key)
Map<String, EpubByteContentFile> images = bookContent.Images;

EpubByteContentFile firstImage = images.values.first;

// Content type (e.g. EpubContentType.IMAGE_JPEG, EpubContentType.IMAGE_PNG)
EpubContentType contentType = firstImage.ContentType;

// MIME type (e.g. "image/jpeg", "image/png")
String mimeContentType = firstImage.ContentMimeType;

// HTML & CSS

// All XHTML files in the book (file name is the key)
Map<String, EpubTextContentFile> htmlFiles = bookContent.Html;

// All CSS files in the book (file name is the key)
Map<String, EpubTextContentFile> cssFiles = bookContent.Css;

// Entire HTML content of the book
htmlFiles.values.forEach((EpubTextContentFile htmlFile) {
  String htmlContent = htmlFile.Content;
});

// All CSS content in the book
cssFiles.values.forEach((EpubTextContentFile cssFile){
  String cssContent = cssFile.Content;
});


// OTHER CONTENT

// All fonts in the book (file name is the key)
Map<String, EpubByteContentFile> fonts = bookContent.Fonts;

// All files in the book (including HTML, CSS, images, fonts, and other types of files)
Map<String, EpubContentFile> allFiles = bookContent.AllFiles;


// ACCESSING RAW SCHEMA INFORMATION

// EPUB OPF data
EpubPackage package = epubBook.Schema.Package;

// Enumerating book's contributors
package.Metadata.Contributors.forEach((EpubMetadataContributor contributor){
  String contributorName = contributor.Contributor;
  String contributorRole = contributor.Role;
});

// EPUB NCX data
EpubNavigation navigation = epubBook.Schema.Navigation;

// Enumerating NCX metadata
navigation.Head.Metadata.forEach((EpubNavigationHeadMeta meta){
  String metadataItemName = meta.Name;
  String metadataItemContent = meta.Content;
});

// Writing Data
var written = await EpubWriter.writeBook(epubBook);

// You can even re-read the book into a new object! 
var bookRoundTrip = await EpubReader.readBook(written);

Kategorien

Abhängigkeiten

Abhängigkeiten 6 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.