Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Read Offline

Read Offline allows you to download or print posts and pages. You can download the posts as PDF, ePub or mobi

Demo examples

Based on the UTF-8 sampler from the Kermit project:

  • PDF
    • Cover art
    • Header and footer
    • Table of Contents
    • Watermark
    • Protected, only print enabled
  • ePub
    • Cover art
    • Table of Contents
  • mobi
    • Cover Art
    • Table of Contents

For full PDF font support, you must add the Read Offline Fonts add-on plugin.


  • Add download links to the top and bottom of a post or page (configurable in Read Offline->General Options)
  • Add download links using [pdf], [epub], [mobi] and [print] shortcodes.
  • You can download a PDF, ePub or mobi file containing the current post or page, or you can print the post / page.
  • The download filename is based on the posts slug ($post->post_name)
  • Adds meta data to the file
    • Title, Author, Date, Copyright message etc.
  • PDF features (set in Read Offline->PDF)
    • Paper formats (A0 - A10, B0 - B10, C0 - C10, 4A0, 2A0, RA0 - RA4, SRA0 - SRA4, Letter, Legal, Executive, Folio, Demy and Royal)
    • Table of Contents
    • Annotations
    • Cover Page
    • Header and Footer
    • Theme or Custom CSS
    • Watermark
    • Protection
  • ePub (set in Read Offline->ePub)
    • Table of Contents
    • Cover Page
    • Custom CSS
  • mobi (set in Read Offline->mobi)
    • Table of Contents
    • Cover Page
  • Print features (set in Read Offline->print)
    • Add print header text
    • Custom print style
  • Permalink support (/read-offline/"postid"/"post-name"."type"). I've written a "how-to add a permalink to your plugin" guide at
  • Google Analytics read-offline event tracking. You can find these under Content » Events in your Google Analytics reports. Assumes you’re using the Asynchronous version of Google Analytics
  • languages/read-offline.pot for easy translation.
  • Support for all mPDF fonts via the Read Offline Fonts add-on plugin
  • Prevent content from being added by using a wrapper with class="not-readoffline", eg: <span class="not-readoffline"> don't include this content in the PDF/ePub/mobi</span>
Author Per Soderlind
Contributors PerS
Tags epub, mobi, pdf, print
  1. read-offline screenshot 1

    Read Offline -> General Options

  2. read-offline screenshot 2

    Read Offline -> PDF

  3. read-offline screenshot 3

    Read Offline -> ePub

  4. read-offline screenshot 4

    Read Offline -> mobi

  5. read-offline screenshot 5

    Read Offline -> Print

You know the drill:

  1. In WordPress Admin, go to Plugins->Add New
  2. Search for Read Offline
  3. Install and Activate
  4. Go to Read Offline in the main admin menu and configure the plugin.


  1. Download the plugin and extract the
  2. Upload the extracted read-offline folder to the /wp-content/plugins/ directory
  3. Activate the plugin through the 'Plugins' menu in WordPress

The plugin is also available at GitHub


  • Tested & found compatible with WP 4.7.


  • Linted CSS files


  • Removed "XX" that was prefixed to the archive title.


  • FIX: Option to save, or not, to media library.
  • ADD: Annotations for PDF. Converts foot- / endnotes to annotations. Enable in Read Offline->PDF
  • ADD: "Don't include content" using a wrapper with class="not-readoffline", eg: <span class="not-readoffline"> don't include this text in the PDF/ePub/mobi</span>


  • ADD: Support for custom post type


  • FIX: Bug in Table of Contents settings for ePub and mobi.


  • Add [pdf], [epub], [mobi] and [print] shortcodes.


  • Add, for ePub and mobi table of contents, option to select all headers (h1-h6).
  • Use wp_safe_remote_get() instead og wp_remote_get()


  • Fix load feature image for ePub.
  • Tested & found compatible with WP 4.6.


  • Remove notice that you should upgrade to PHP 5.6 (bur really, you should).



  • Add support for all mPDF fonts via the Read Offline Fonts add-on plugin
  • Update mPDF to verion 6.1


  • Add Table of Contents to ePub and mobi, default off. Set it in Read Offline->ePub and Read Offline->mobi
  • Readded mobi cover page (kind of catch 22, you must have Table of Contents to get a cover page)


  • Added missing folder


  • Fix ePub and mobi bugs
  • Add option in admin to select if you want to cache pdf, epub or mobi files in the Media Libray, default is "No"
  • Update PHPePub to version 4.0.7
  • Update phpMobi to latest version
  • Remove HTMLPurifier


  • Fixed HTML purification (previous version stripped html P-tags, sorry). html-purify is now only used when creating ePub


  • A lot of changes since last commit, please see at GitHub


  • ePub: rewrote routine for embedding images


  • ePub: Added option to add Featured Image as a coverpage
  • ePub: Fixed bug with adding images
  • Read Offline ePub validates using the EPUB Validator


  • Read Offline now works with Pages


  • Solved a bug that prevented a user from adding a custom css to PDF


  • Solved a bug that prevented a user from adding a custom css to ePub


  • Reduced mPDF library size by 90% (!!), incl removing fonts. Only DejaVu fonts are included. Will add font management (i.e. option to add fonts) in later version. Please tell me if this breaks the plugin.


  • Added localization (that is, added missing load_plugin_textdomain())


  • New Feature: Read Offline->Print->Print Style = "The site theme style"
  • Biugfixs
    • PDF: Page numbering
    • ePub: ePub-> Add cover page. Missing cover page gave error.
    • Minor fixes.


  • Complete rewrite. NOTE, I haven't added support for the [readoffline] shortcodes in this version, it will be added in 0.3.0
  • Added more PDF features
    • Paper formats
    • Table of Contents
    • Cover Page
    • Header and Footer
    • Use Theme or Custom CSS
    • Add Watermark
    • Add Protection
  • Print: In addition to downloading a PDF, ePub or mobi, you can now print the page
    • Add print header text
    • Custom print style
  • Updated libraries should give better UTF-8 support for PDF, ePub and mobi.


  • Fixed a bug in permalinks that gave 404 for blogs in a subdirectory. Also removed code that gave error when downloading an ePub.



  • Fixed a small bug


  • Added the option to add custom css to PDF


  • In Settings->Read Offline, added the option to add custom css to ePub
  • Added languages/read-offline.po for easy translation.




  • Fix typo in download.php, was including "", correct is "".


  • bugfix


  • Added the Read Offline shortcode
  • Added, in Settings->Read Offline, option to add Read Offline to top and/or bottom of post and page


  • Filename based on the posts slug
  • Added meta data


  • Initial release

How do I add download links?

There are 2 ways you can add the Read Offline links:

  1. Add it to the top or bottom of each post and/or page (See Read Offline->General Options).
  2. [pdf], [epub], [mobi] and [print] shortcodes, attributes:
    • text="Download link text", default: text="Download PDF" etc.
    • icon="false", default: icon="true"

Does the plugin support RTL output?

  1. RTL, right-to-left writing direction, is supported in PDF and ePub. For PDF, you'll most likely need the Read Offline Fonts add-on plugin.


Read Offline is using the following libraries:

  • mPDF is written by Ian Back and is released under the GNU GPL v2 license.
  • PHPePub is written by Asbjorn Grandt and is released under the GNU Lesser General Public License v2.1
  • phpMobi is written by Sander Kromwijk and is released under the Apache license (version 2.0)
  • Admin Page Framework is written by Michael Uno and is released under the following licenses:
    • Admin Page Framework (Framework Files) MIT license
    • Admin Page Framework - Loader (WordPress Plugin) GPL v2
Version 0.7.6

Requires WordPress version: 4.0 or higher

Compatible up to: 4.7.2

Last Updated 12 Dec 2016

Date Added: 16 Oct 2012

Plugin Homepage


4.4 stars
14 ratings


Not Enough Data

Works: 0
Broken: 0