Chrome Extension For Epub

0 views
Skip to first unread message

Marianna

unread,
Aug 3, 2024, 5:17:18 PM8/3/24
to toiloasildu

Read EPUB files on Chrome, easy to use, great experience.EPUB Reader is specially designed for reading EPUB files on Chrome. It is a simple and lightweight EPUB Reader. You can easily view your EPUB books with this extension. We are dedicated to ePub technology and have carefully applied years of ePub software experience in this EPUB Reader. Besides this Chrome extension, we also provide more powerful Apps for reading EPUB files, it is called Neat Reader, you can check it out at www.epubreader.xyz. It supports almost all your devices and you can use them for free.This EPUB Reader extension is developed by the Neat EPUB Reader team. We are glad you choose our product. If you like the app, please rate it, thank you very much.If you need a better experience for reading EPUB files, please search Neat Reader on Google. To learn more about Neat Reader, EPUB and this EPUB Reader, please visit following website:www.neat-reader.comwww.epubreader.xyz

I am a big fan of what the International Digital Publishing Forum (IDPF) is creating with their Readium EPUB reader. Each new version they release is better than the last, and Readium is close to supporting the entire EPUB 3.0 specification. I used Readium in a demos I did at PePcon 2012 in May and enjoyed using it on my laptop PC to preview sample EPUB 3.0 files. My one complaint was that I could not get the Readium Chrome extension to download properly on my desktop PC.

The first thing I had to do to get the Readium extension to install properly was to Enable CRX-less Web Apps. It is the fourth item down from the top of the page. Simply click on Enable to allow your compute to download and install a Chrome app from the Web.

Whonoze:
The Readium Chrome extension should have opened when you downloaded it. If you are having trouble finding it, go to chrome://extensions/ to confirm that it is installed. This will show you all your extensions. If it is installed, you can find instructions on how to launch it or any app here: _webstore/answer/1054233?hl=en
You can open a new tab in Chrome and it should show you all your installed Chrome extensions. Find Readium, click on it, and it should open.
You can also set up Chrome to show all the extensions when you launch Chrome. Click on the button with three horizontal bars in the upper right-hand corner of your Chrome window; this will open a drop-down menu of options. Click on Settings. Under Settings, look at what radial button is selected under On Startup. If Open the New Tab Page is selected, you will always see a list of your Chrome extensions when you launch Chrome.

Test your command in cmd.exe do a cd to C:\ put your file in C:\ and call it test.epub. Test command "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory=Default --app-id=fepbnnnkkadjhjahcafoaglimekefifl test.epub. Repeat if that fails with out ".epub" extension. This will check if readium chrome app supports command line arguments.

I am a print designer whose publisher client has asked me to branch out and explore creating epubs. I've crash-coursed myself this last week and a half with Lynda.com courses, YouTube videos, and all kinds of blogs and Adobe instructions. I have actually had pretty good results with the book I used to practice on, to the point where it is nearly ready for Amazon. The only problem is, I CANNOT GET AN INTERNAL TOC TO GENERATE. I have exported sooooooo many times, I've lost count. I've also tried "Make text anchor in source paragraph" -- both on and off -- numerous times. I have no idea if THAT is working or not because the internal TOC NEVER APPEARS. The Nav TOC shows up fine. I'm previewing this export in Adobe Digital Editions (which has not impressed me at all), in Readium (a Chrome extension which actually reflects my embedded fonts), in Kindle Previewer, and on my own Kindle. The internal TOC is showing up on none of them which just reinforces for me the fact that it is not generating.

My apologies if I've missed another post or a solution somewhere to this problem, but I've searched for three days one way and another and have found nothing except other complaints, going back as far as InDesign 2014.

One more thing. So far, every post I HAVE found about the TOC functions -- even on the Adobe site itself -- seems to discuss ONLY the TOCs that are being generated from InDesign books (.indb)! There is hardly any (maybe no) mention of stand-alone manuscripts (ones not broken down and saved in an InDesign .indb file). The manuscript I'm working with is all in one single InD file, not in separate chapters (I did try setting it up in an .indb and for reasons I won't go into, it didn't work well with this manuscript). So what little I AM finding about the TOC situation is barely even applicable to what I'm doing!

Sorry, I remembered something else I should explain. I DO have an internal TOC in the InDesign file. I set it up in its own frames, separate from the flow of the book itself, so that it could safely regenerate if changes were made. But when I open the exported file, those pages that contained the TOC frames (there are three) are not even accounted for. Not even blank pages show up. The TOC is just plain skipped over, as if I'd never set it up at all. The TOC is not getting picked up during the export process, which leaves me with no interal TOC or links to my source paragraphs.

I'm not using the Articles panel for this manuscript. It is a straight text book with just chapter heads and text. Not even subheads, etc. The "bits and pieces" are not in separate text frames, other than the TOC I've placed inside the document. It starts right at the title on the title page and goes right to the last sentence in the About the Author blurb at the end. I'm creating my page breaks with paragraph styles and choosing those tyles -- keeping all at Level 1 -- in the TOC creation panel. (For various reasons, this manuscript did not lend itself to either an .indb or the Articles panel.)

I've watched videos and read instructions, ad infinitum, and am feeling like this is a bug in InD CC 2018 -- that is, if the TOC can be generated ONLY if one is using an .indb or the Articles panel, then they should say so (and fix it!), but such a restriction has not been mentioned in anything I've found as I've researched.

No, the TOC is not on any of the master pages, and it is not marked non-printing. It is placed on three pages between two parts of the front matter, but not making use of a primary text frame (I removed the primary text frame from these pages). I am truly mystified. I don't know what else I can do differently, and no one else has mentioned having this problem that I have heard of as yet.

I was running into this problem recently, too. I'm not sure if you found your solution, but what finally ended up working for me was going into the chapter title paragraph style, selecting "Export Tagging" from the menu, and assigning "h2" to the style. (EPUBs interpret "h1" as the title of the book, "h2" as chapter titles, and "h3" as sub-chapter headings.)

If you're like me, you will have discovered that there are many sites on the Internet that have fiction that is free to read. For example, Unfortunately, most of these sites have two minor drawbacks. Firstly, because they're online sites, you need to be on-line to view them. Second, the individual chapters of each story (and the good stories almost always have multiple chapters) are on multiple web pages. So you need to go between the web pages to read the story.

Consequently, when after reading the first chapter of one of these stories, I've often wished that I could press a single button on my browser and have the whole story saved to an EPUB file in my downloads directory, ready to copy to my EPUB viewer.

Well, it turns out that it's possible to write "extensions" for Google's Chrome browser, which allow you to add additional functionality to Chrome. So, I've used that to to create a "Save to EPUB" plug-in, and I'm now going to show you how it's done, so you can use it, and extend it to handle the sites you like.

As you can see, it's an ordinary HTML file, with fields to show the key attributes of the story: Title, Author, Language and Chapters. The only, even slightly, unusual aspect is that it has no embedded JavaScript.

And that's all you need to do for an extension to read the current tab's contents in Chrome. For more details on what's going on, check out Google's documentation on Content Scripts and Sending Messages.

Welcome back. Now that you know what a DOM is and we got the DOM for the web page in the previous section, the next step is to extract the information we need from the DOM. The things that we want are:

Finding the language of the story is a bit more difficult, as it's not explicitly shown on the web page. However, if we look at the source of the web page, which Chrome will show if we right click on the page and select "View page source", we find the following

Now that we know where the information we want is in the DOM, the next step is to extract it. Let's start with the title. As previously mentioned, the title is in a tag, with a class of "title heading". So, given the DOM object returned by the ContentScript, the following function will extract the title.

getElementsByTagName() does just what it's name suggests, it returns all elements in the DOM with the specified tag. Actually, it's more powerful that that. As well as searching an entire DOM, if you give it an element of the DOM, it will search the child nodes of that element. This can be useful if you wanted to find a specific child node of a section of the DOM.

The .filter() function removes the elements that don't have a className of "title heading". The essentials of filter() are it takes an array of objects and a function that returns true or false. (The technical term for this is a predicate.) Given these two inputs, filter() builds and a new array that containing all elements that the predicate returns true for. In the above function, e => e.className === "title heading" is the predicate, I've written it as an arrow function expression that newer versions of Chrome support (it's part of the ECMAScript 6 standard.) This is just a shorthand way of saying: function(e) return e.className === "title heading"; . Congratulations! You've just had your first introduction to functional programming.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages