Convert a Google Document into an EPUB File

C
Published in: Google Apps Script - Google Docs - epub

With Google Documents, you can easily save any document into an ePub file in the browser. Just open any document inside the Google Documents web editor and choose File > Download > EPUB from the menu to convert the file.

If you have bunch of documents in your Google Drive, converting them to EPUB format manually would be a tedious task and that’s where Apps Script can help.

function convertDocToEPUB() {
    // Get the currently opened document
    var document = DocumentApp.getActiveDocument();

    // Get the EPUB export link
    var mimeType = "application/epub+zip";
    var exportLink = Drive.Files.get(document.getId()).exportLinks[mimeType];

    // Get the blob of the epub exported file
    var response = UrlFetchApp.fetch(exportLink, {
        headers: {
            Authorization: "Bearer " + ScriptApp.getOAuthToken()
        }
    });

    // Save the EPUB file in the Google Drive root folder
    var file = DriveApp.createFile(response.getBlob());
    // Set the file name same as the document name
    file.setName(document.getName() + ".epub");

    // Return the file URL from Drive
    return file.getUrl();
}

We use the Google Drive Advanced Service of Apps Script to get get the export link for the EPUB MIME Type. Next, the URLFetchApp service exports the Google Doc to the requested MIME type and returns the exported content as a blob.

The blog is saved to Google Drive and the file URL is returned.

A similar technique is used by Document Studio to convert merged documents into EPUB ebooks.

📮  Subscribe to our Email Newsletter for Google tips and tutorials!
Published in: Google Apps Script - Google Docs - epub

Looking for something? Find here!

Meet the Author

Web Geek, Google Developer Expert
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. He is the developer of Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory

Get in touch

Google Add-ons

Do more with your Gmail and GSuite account
G

We build bespoke solutions that use the capabilities and the features of Google Workspace for automating business processes and driving work productivity.

  1. Mail Merge with Attachments
    Send personalized email to your Google Contact with a Google Sheet and Gmail
  2. Save Emails and Attachments
    Download email messages and file attachments from Gmail to your Google Drive
  3. Google Forms Email Notifications
    Send email notifications to multiple people when a new Google Form is submitted
  4. Document Studio
    Create beautiful pixel perfect documents merging data from Google Sheets and Google Forms
  5. Creator Studio for Google Slides
    Turn your Google Slides presentations into animated GIFs and videos for uploading to YouTube