Beispiel #1
0
 public void CleanBook(BookBuilder builder, EpubReadingOptions options)
 {
     if (options.HasFlag(EpubReadingOptions.ShortenPaths))
     {
         pathShortener.ShortenFilePaths(builder);
     }
 }
Beispiel #2
0
 public async static Task <Book> ReadFromFile(string filePath, EpubReadingOptions options = 0)
 {
     using (var stream = System.IO.File.OpenRead(filePath))
     {
         return(await ReadFromStream(stream, options).ConfigureAwait(false));
     }
 }
Beispiel #3
0
        public async Task <Book> ReadBookAsync(Stream stream, EpubReadingOptions options)
        {
            var zip = await zipReader.GetZipAsync(stream).ConfigureAwait(false);

            var structure = await structureFactory.CreateStructureAsync(zip).ConfigureAwait(false);

            var modelBuilder = await modelBuilderFactory.CreateBuilder(structure).ConfigureAwait(false);

            bookCleaner.CleanBook(modelBuilder, options);
            return(modelBuilder.ToBook());
        }
Beispiel #4
0
 public static Task <Book> ReadFromStream(Stream stream, EpubReadingOptions options = 0)
 {
     return(CreateFactory().ReadBookAsync(stream, options));
 }