/// /// <param name="packageResource"></param> /// <param name="epubReader"></param> /// <param name="book"></param> /// <param name="resources"></param> public static void read(Resource packageResource, EpubReader epubReader, Book book, Resources resources) { XElement packageDocument = XElement.Load(packageResource.getInputStream()); String packageHref = packageResource.getHref(); resources = fixHrefs(packageHref, resources); readGuide(packageDocument, epubReader, book, resources); System.Collections.Generic.Dictionary<string, string> idMapping = new Dictionary<string, string>(); resources = readManifest(packageDocument, packageHref, epubReader, resources, idMapping); book.setResources(resources); readCover(packageDocument, book); // book.setMetadata(PackageDocumentMetadataReader.readMetadata(packageDocument, book.getResources())); book.setSpine(readSpine(packageDocument, epubReader, book.getResources(), idMapping)); // if we did not find a cover page then we make the first page of the book the cover page if (book.getCoverPage() == null && book.getSpine().size() > 0) { book.setCoverPage(book.getSpine().getResource(0)); } }