2.0.4 • Published 11 months ago

@cd-z/react-native-epub-creator v2.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

react-native-epub-creator

Installation

These packages have to be installed manually, since the autolink doesn't work automatically.

// if this is your first expo reliant package
npx install-expo-modules@latest

npm i react-native-saf-x
npm i react-native-zip-archive --save
npm i @cd-z/react-native-epub-creator

IOS

pod install

ANDROID

nothing to do

Usage

Create an Epub

import EpubBuilder, { FsSettings, ReadDirItem, EpubChapter, EpubSettings, EpubLoader, getValidFileNameByTitle } from 'react-native-epub-creator';

  // Can be used to visualize the progress
  const [progress, setProgress] = React.useState('');
  EpubBuilder.onProgress = (progress, file, operation) => {
    setProgress(Math.round(progress) + '  |  ' + file + '  |  ' + operation);
  };

  var epub = new EpubBuilder({
      title: "example",
      fileName: getValidFileNameByTitle("examplefile-%1"), // optional, it will take title if not set
      language: "en",
      description: "this is a epub test",
      stylesheet: {
        p: {
          width: "100%"
        }
      },
      // If chapters are defined, epub.save() can instantly be called
      chapters: [{
        title: "Air born",
        htmlBody: "<p>this is chapter 1</p>"
      }, {
        title: "chapter 2",
        htmlBody: "<p>this is chapter 2</p>"
      }]
    }, 
      // Optional path to destination folder
      // Opens a folder picker if undefined
      RNFS.DownloadDirectoryPath
  );
  try{     
    await epub.prepare();
    await epub.addChapter({
      title: 'CH 1',
      htmlBody: '<p>Some content</p>',
    });
    await epub
      .save()
      .then((value: string) => console.log(value))
  }catch(error){
   // remove the temp created folder
   await epub.discardChanges();
  }

Read an Existing Epub file

Currently not supported

  var path = RNFS.DownloadDirectoryPath +"/example.epub";
  var localProgress=(progress, file)=> {

  })
  var epub = await EpubLoader(path, RNFS, localProgress);
  // you could add new chapters 
  epub.addChapter({
        fileName: getValidFileNameByTitle("examplefile-%1Chapter1"), // optional, it will take title if not set
        title: "chapter 3",
        htmlBody: "<p>this is chapter 3</p>"
      });
    try{
      // save and create the .epub file
      var epubFilePath = await epub.save();
    }catch(error){
     // remove the temp created folder
     await epub.discardChanges();
    }
 

License

MIT

2.0.3

11 months ago

2.0.2

11 months ago

2.0.4

11 months ago

2.0.1

11 months ago

2.0.0

11 months ago

1.3.3

12 months ago

1.3.2

12 months ago

1.3.1

12 months ago