EpubBuilder

Struct EpubBuilder 

Source
pub struct EpubBuilder<Version> { /* private fields */ }
Expand description

EPUB Builder

The main structure used to create and build EPUB ebook files. Supports the EPUB 3.0 specification and can build a complete EPUB file structure.

Implementations§

Source§

impl EpubBuilder<EpubVersion3>

Source

pub fn new() -> Result<Self, EpubError>

Create a new EpubBuilder instance

§Return
  • Ok(EpubBuilder): Builder instance created successfully
  • Err(EpubError): Error occurred during builder initialization
Source

pub fn add_rootfile(&mut self, rootfile: &str) -> &mut Self

Add a rootfile path

The added path points to an OPF file that does not yet exist and will be created when building the Epub file.

§Parameters
  • rootfile: Rootfile path
Source

pub fn add_metadata(&mut self, item: MetadataItem) -> &mut Self

Add metadata item

Required metadata includes title, language, and an identifier with ‘pub-id’. Missing this data will result in an error when building the epub file.

§Parameters
  • item: Metadata items to add
Source

pub fn add_manifest( &mut self, manifest_source: &str, manifest_item: ManifestItem, ) -> Result<&mut Self, EpubError>

Add manifest item and corresponding resource file

The builder will automatically recognize the file type of the added resource and update it in ManifestItem.

§Parameters
  • manifest_source - Local resource file path
  • manifest_item - Manifest item information
§Return
  • Ok(&mut Self) - Successful addition, returns a reference to itself
  • Err(EpubError) - Error occurred during the addition process
Source

pub fn add_spine(&mut self, item: SpineItem) -> &mut Self

Add spine item

The spine item defines the reading order of the book.

§Parameters
  • item: Spine item to add
Source

pub fn set_catalog_title(&mut self, title: &str) -> &mut Self

Set catalog title

§Parameters
  • title: Catalog title
Source

pub fn add_catalog_item(&mut self, item: NavPoint) -> &mut Self

Add catalog item

Added directory items will be added to the end of the existing list.

§Parameters
  • item: Catalog item to add
Source

pub fn set_catalog(&mut self, catalog: Vec<NavPoint>) -> &mut Self

Re-/ Set catalog

The passed list will overwrite existing data.

§Parameters
  • catalog: Catalog to set
Source

pub fn make<P: AsRef<Path>>(self, output_path: P) -> Result<(), EpubError>

Builds an EPUB file and saves it to the specified path

§Parameters
  • output_path: Output file path
§Return
  • Ok(()): Build successful
  • Err(EpubError): Error occurred during the build process
Source

pub fn build<P: AsRef<Path>>( self, output_path: P, ) -> Result<EpubDoc<BufReader<File>>, EpubError>

Builds an EPUB file and returns a EpubDoc

Builds an EPUB file at the specified location and parses it into a usable EpubDoc object.

§Parameters
  • output_path: Output file path
§Return
  • Ok(EpubDoc): Build successful
  • Err(EpubError): Error occurred during the build process

Trait Implementations§

Source§

impl<Version> Drop for EpubBuilder<Version>

Source§

fn drop(&mut self)

Remove temporary directory when dropped

Auto Trait Implementations§

§

impl<Version> Freeze for EpubBuilder<Version>

§

impl<Version> RefUnwindSafe for EpubBuilder<Version>
where Version: RefUnwindSafe,

§

impl<Version> Send for EpubBuilder<Version>
where Version: Send,

§

impl<Version> Sync for EpubBuilder<Version>
where Version: Sync,

§

impl<Version> Unpin for EpubBuilder<Version>
where Version: Unpin,

§

impl<Version> UnwindSafe for EpubBuilder<Version>
where Version: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.