Print My Blog – Print, PDF, & eBook Converter WordPress Plugin

Description

Make printing your blog easy and impressive. For you & your visitors. One post or thousands.

Print My Blog lets you easily print your entire blog to paper, PDF, or eBook. You can also automatically add print buttons to help your visitors print your blog.

Why would I want to print my blog?

  • Print your blog to read offline.
  • Create a paper backup (book or printout) to read when your blog is taken offline.
  • Create a PDF, ePub, or MOBI file as a human-readable, portable backup. Send it to friends, store it in the cloud or a hard drive, or even archive it with a historical organization.
  • Copy your entire Blog for quick pasting into another program like Microsoft Word or Google Docs

Why would visitors want to print my blog?

  • Share your content with friends offline
  • Save it for reading later
  • Improve long reads by converting a portion of your blog to eBook or PDF

Give your story life outside your blog!

Features

  • loads all your blog’s posts into a single web page so you can print them from your web browser (to paper, PDF, ePub, or anything your web browser ’supports) or copy-and-paste them into another program (although the other program likely won’t format it as nicely)
  • ’supports printing thousands of blog posts in one click (the record is over 3000 posts)
  • prints posts and pages
  • does not print ink-guzzlers like site logo, sidebar widgets, or footer
  • avoids page breaks inside images, between images and captions, and even right after headers; generally makes the content print-ready
  • uses your theme’s and plugins’ styles (so Gutenberg and page builders are ’supported)
  • growing ’support for plugin and theme shortcodes and Gutenberg blocks
  • print your entire blog, or filter by author, date, category, and tags
  • optionally include private and password-protected posts
  • optionally prints comments
  • optionally places each post on a new page
  • resize text
  • resize images or remove them altogether
  • replaces embedded YouTube videos with a link, full video title, and screenshot
  • optionally removes hyperlinks
  • optionally includes post’s excerpt
  • order posts by date, or pages by the “order” attribute
  • place the “Print My Blog” Gutenberg block on a page and allow site visitors to print your blog too
  • no watermark in print-out, and attribution optional,
  • GDPR compliant (no data is collected about your visitors)
  • no upsells, advertising, or data collection (we can’t even know which sites use this software)
  • free, open-source software, so you can use it for whatever you like without fear of changing terms of use,
    customize it to fit your needs (although we’d curious to hear what you’ve done with it), and even redistribute it. There is no lengthy legal document describing how you’re giving up your rights by using this software!

Want more? Tell us what matters to you on GitHub.

Example Use-Cases

Time to prune your website’s content? You can print it, annotate and sort through a physical stack of paper.

Disconnecting offline for a bit? Print your blog to paper, or even an ePub file to read from your Kindle or phone.

Shutting down your site? In addition to making a regular backup (which can only be read by recreating your entire site, which may be difficult as the software it requires gets more dated), make a PDF backup of it.

Wonder what will happen to your blog’s stories after your gone? Your blog might not be online forever, but you can use Print My Blog to distribute readable copies of it to those you care about.

Check out some of the reviews to see pretty exciting uses for Print My Blog.

Our Mission

Besides just converting your blog to a different format, the plugin’s mission is to preserve your blog for decades to come in a low-tech format.
Your website might not be around forever, nor might WordPress. But by printing it, there’s hope your blog’s ideas and stories can live on.

Alternatives to Print My Blog

If this doesn’t meet your needs, there are good paid and free alternatives.

Alternatives for printing your entire blog

Dead Easy Family History runs a hosted version of this same plugin, so you can print your blog without even installing this. Especially useful for WordPress.com users, or those who can’t install the plugin on their site.
(Its free, but won’t use your blog’s styles).
Anthologize is another great plugin for customizing your blog’s content before exporting to an e-book format. Also free.
bloxp converts your blog into an e-book with any type of blog (not just WordPress). Fewer, but different, options. Supported by donations.
MPL – Publisher is another free eBook cre’ator / PDF converter plugin you can use to self-publish a book. Good features but not recently updated.
PressBooks is a good eBook maker. Begin creating or import content for free, and can pay to export to PDF and other formats.
Blog To HTML is actually very similar to Print My Blog. It allows you to export your blog to HTML for eBook creation.
blogbooker prints a book, or creates a PDF, from your blog using their pre-made styles. Paid service.
blog2print ditto, but temporarily requests your username and password. Paid service.

Alternatives for adding print buttons
Print, PDF, Email by PrintFriendly lets visitors easily print to paper, PDF, or email themselves a copy. Easy setup and very customizable. Doesn’t use theme’s styles. The free version is not GDPR-compliant and inserts advertisements.
WP Print Friendly automatically adds a link to print the current post, page, or custom post type. Can convert links to endnotes. Doesn’t use theme’s styles.
WP-Print printouts quite customizable. Requires editing theme files. Does not use theme’s styles.
Print-o-Matic add print buttons with a shortcode. Customizable and can work with theme’s and plugin’s styles.

Contributing

If you find it useful, please:

Best Wishes Preserving Your Blog!

Screenshots

  • Print My Blog removes junk that doesn’t belong in a printout— like ink-guzzling logos, menus, search-bars, sidebars, footer widgets, etc.
  • Print Setup page, show basic options. You can setup your entire blog for printing within a few seconds.
  • Or you can use the more advanced Post Selection options to only include specific posts...
  • ...and customize what content gets included and how its formatted.
  • Optionally add print buttons to your posts for use by site visitors.
  • Setting up the print buttons is really simple.
  • Add the Print My Blog block to add a form visitors can use to select what and how to print your blog.

Blocks

This plugin provides 1 block.

printmyblog/setupform
Print My Blog

Installation

  1. Upload the plugin files to the /wp-content/plugins/print-my-blog directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress

To Print Your Blog

  1. Under the “Print My Blog” menu item, click “Print Now.”
  2. Select the format you want, and click “Prepare Print Page.”
  3. When you see the “Print” button appear, click it. Your blog will be printed from your browser.

To Add Print Buttons to Posts

  1. Under the “Print My Blog” menu item, click “Settings.”
  2. Check “Show visitors buttons to print your posts?”
  3. Click “Save Settings”

To Add a Print Form for Visitors

  1. Add a page using the block editor (added in WordPress 5.0), maybe call it something like “Print My Blog”
  2. Add the “Print My Blog” block anywhere you like
  3. Publish the post or page.
  4. You may want to add a link to the page in a menu, widget, or footer

FAQ

How do I create a PDF using Print My Blog?

This plugin just puts the content onto a single web page so your browser can print it or create a PDF from it. Because your browser is what creates the PDF, it depends on the browser. Check out the instructions that apply to you:

Google Chrome

Mozilla Firefox

Note: images may be missing from very large PDFs. See the FAQ “My PDFs are missing images” below for help.

How do I create an eBook using Print My Blog?

This plugin puts your blog’s content onto a single web page, and you can then use the dotEPUB browser extension to turn it into an eBook.

Note: if your printout has many images, dotEpub warns you it will replace them with links.

Once the eBook has been generated, you can read it from your computer (here’s instructions on how to read ePubs and MOBI files), or a phone or tablet.

Some images aren’t appearing

Print My Blog can work too fast for some webservers, meaning the webservers refuse to load all the content, most noticeably some images.
In order to fix this, you need to tell Print My Blog to slow down. On the configuration page, show options, then scroll
down to show Troubleshooting options, and increase “Post Rendering Wait-Time” (eg to 2000 milliseconds, or whatever
value you need to in order to get all the images to load).

My PDFs are missing images

If your print-page has hundreds of images, browsers may generate PDFs that are missing images at the end.
To fix this, just retry generate the PDF. Each time the browser will fetch more images. Continue re-generating the PDF until the images at the end are included.

The Print Page says “There seems to be an error initializing…”, or is stuck on “Loading Content”, or I can’t filter by categories or terms from the print setup page

You may have disabled the WP REST API. (Eg by using “All in One WP Security” plugin’s “Disallow Unauthorized REST API Requests” or “Disable REST API” plugin). Print My Blog uses the WP REST API to load your posts into the print-page, so please en’sure the WP REST API is enabled.

How do I remove post content from the printout?

There may be text, images, and other stuff that looks great when viewed from a screen, but doesn’t make sense to have in the printout. Eg, related posts, share buttons, etc.
To remove them from printouts, add the CSS class “pmb-screen-only”.

Also, if it’s content automatically added by a plugin or theme, please let us know in the ’support forum, and we can hide that content in the next release of Print My Blog.

How do I make post content only appear in the printout?

Add the CSS class “pmb-print-only”. See the above question for more details.

How do I show or hide background colors in the printout?

Your theme may use different styles when printed, including setting the background to white in order to conserve ink.

But if not, your browser can also remove background colors.

How do I force a page break before something? (So it’s always at the top of a page)

Add the CSS class “pmb-page-break” onto the the element/block you want to be at the top of the page.

Reviews

Fevrâr 20, 2020
I'm going to change my website but needed to save all my old blog posts. So relieved to find this handy tool, worked so quickly. Thanks!
Fevrâr 7, 2020
I tried the plugin this morning on my blog that contains images and podcasts. It gave me an output within seconds that I was able to save as a PDF. It also did a good job of working out what to do with the podcasts. I was able to take the output and save it as a HTML file, which I could then open in MS Word. It'll need a little bit of massaging, but will save me hours of work. Great job!
Zenâr 10, 2020
This plugin does work perfectly in that it will print the text of your site correctly, in order. You can select to printot whatever will accept duties as a printer on your PC - printers, oxps files, pdf files, and print to file. All perfect, except no active links in the content. The active links are formatted (colors/underlines, etc), just no active link. Images print fine, those that print. Video links - embedded videos - nope. The ebook setup is ok, too. Except your reader has to install a plugin in their broswer first. Not difficult, but still another step or two and I did not want to do it. Just not curious enough...(30 minutes later) I tried it. Several times. Failed every time. Pdf.s - works fine, except no active links or videos embedded. SO its basic. It works and I recommend it to back up your blog and to create a book that you can put in a three-ring binder. But that is its highest calling.
Dicembar 30, 2019
So, I'm wanting to do a complete rebuild of my website, so an xml file isn't much good to me if I want to be able to refer back to old content. So, roll on up Print-my-blog exporter... So easy, and fast. I've now got my pages and posts to refer to and copy/paste as needed. What a great time-saver (better than copying/pasting everything page-by-page!). Thank you SO much for making this.
Dicembar 16, 2019
Loaded it. Used it. Works as advertised. I'm using Calibre conversion rule to add table of content when bringing in html output into ePub format.
Read all 30 reviews

Contributors & Developers

“Print My Blog – Print, PDF, & eBook Converter WordPress Plugin” is open source software. The following people have contributed to this plugin.

Contributors

“Print My Blog – Print, PDF, & eBook Converter WordPress Plugin” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Print My Blog – Print, PDF, & eBook Converter WordPress Plugin” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.3.0 February 17 2020

  • Added “HTML” format for easy copy-and-pasting
  • Printing a post using the print buttons now defaults to putting links in parentheses
  • Remove unrendered shortcodes
  • Hide PowerPlay playback controls as they don’t work in printouts
  • Fixed a bug that happened first time loading the print-page
  • Add a “Return” button when the print-page is ready
  • Code cleanup

2.2.2 January 30 2020

  • Fix innocuous Javascript error in 2017 theme
  • Work even if site has no title
  • Set text to black in printouts
  • Mention Safari and Firefox remove hyperlinks in printouts

2.2.1 January 29 2020

  • Wait a few more seconds before as’suming the print-page didn’t initialize properly.

2.2.0 January 29 2020

  • Optionally place URLs in parentheses after hyperlinks
  • JetPack’s Tiled Gallery captions should still have a background because they’re overlayed over images
  • Show an error message if the print-page fails to initialize. Recommend using a newer browser and enabling the WP REST API

2.1.5 January 25 2020

  • Fix dotEpub integration (all the text was appearing in a header, and only the first post was being included)

2.1.4 January 14 2020

  • Add autoloading, props @szepeviktor
  • Make Easy Footnotes plugin show footnotes in printouts
  • Clarify date filtering by date includes the selected dates
  • If users enter dates backwards, fix it for them

2.1.3 January 10 2020

  • Cleanup main file props @szepeviktor

2.1.2 January 7 2020

  • Fix styling of Intergalactic 2 printouts
  • Remove “Protected:” and “Private:” from post titles

2.1.1 December 30 2019

  • Don’t redirect to welcome page on bulk activations or reactivation
  • Hide print buttons when printing a page without Print My Blog
  • Hide print buttons when post is password-protected

2.1.0 December 27 2019

  • Add option to reverse the order of posts or pages
  • Style the print-page like a single page, not like the homepage. Introduces filter “pmb-print-page-treat-as-single” which can override this.

2.0.0 December 12 2019

  • Adds new top-level Print My Blog admin dashboard menu, with ’sub-items “Print Now” and “Settings”
  • Add full-page welcome screen
  • Deprecate the old menu item under Tools
  • Optionally add print buttons to posts
  • When not showing “Filters Used” in Header Content, also remove the post type (so it doesn’t say “Posts.”)
  • CSS improvements to help with printouts with various themes
  • Several translated strings changed (sorry transl’ators!)
  • Only show “What do you think?” to logged-in users
  • Provide more in-page help converting the print-page to PDF (rather than redirecting the user elsewhere.)

1.14.0 November 11 2019

  • Allow filtering posts by author
  • Optionally add the post’s author below each post

1.13.2 November 5 2019

  • Resize images based on page height instead of width
  • Add a little space after post meta info

1.13.1 October 7 2019

  • Fix error when posts start rendering before taxonomies fully loaded
  • Center resized images
  • Default to medium-sized images instead of full-width

1.13.0 September 30, 2019

  • Make printing site title, tagline, URL, printout filters, and Print My Blog credits optional

1.12.2 September 26 2019

  • Require PHP 5.4 (don’t just rely on WordPress core to enforce it)
  • Give an error message if two versions of Print My Blog are running

1.12.1 September 26 2019

  • Added transl’ator comments to translated strings

1.12.0 September 17 2019

  • Replace each Youtube video with the video’s title, URL, and screenshot

1.11.2 September 10 2019

  • Fixed a fatal error
  • Made change to readme in order to rank for searches for “PDF Gener’ator”

1.11.1 August 15 2019

  • Fixed incorrect translation domain

1.11.0 August 15 2019

  • Add option to exclude private and password-protected posts
  • Fix datepicker pop-ups not appearing correctly on HTTPS sites

1.10.0 August 9 2019

  • Add better ’support for creating ePub and MOBI eBooks using dotEPUB
  • Print setup page now asks for desired format, then tailors the print-page for it

1.9.6 July 30 2019

  • Add “site” CSS class to top-level div on print-page, as styles may use it for styling

1.9.5 July 24 2019

  • Add a ’suggestion to use the browser’s print preview

1.9.4 July 18 2019

  • Allow thumbnail and medium images to be inline

1.9.3 July 9 2019

  • Add a link to explain how to print to PDF
  • Add link to cancel printout

1.9.2 July 5 2019

  • Fix some strings which weren’t translatable

1.9.1 June 26 2019

  • Fix Print My Blog WordPress News posts not dismissable

1.9.0 June 26 2019

  • Add Print My Blog to WordPress News dashboard widget (and make it dismissable)

1.8.0 June 14 2019

  • Allow filtering posts by date
  • Print meta line now mentions the post type, categories, and dates used in filtering

1.7.1 May 29 2019

  • Include private and future posts in printouts for privileged users

1.7.0 May 21 2019

  • Hide Adcontrol and Sharedaddy content in printouts.
  • Add CSS classes to facilitate only showing content when on a screen (“pmb-screen-only”), or only showing in printouts (“pmb-print-only”).
  • Put post date, url, categories, etc, onto different lines by default (add custom CSS .pmb-post-meta{display:inline;} to instead show them inline).

1.6.8 April 30 2019

  • Escape site parameter when printing it out.

1.6.7 April 26 2019

  • Fixed a bug with WP REST Proxy while trying to sanitize the site parameter.

1.6.6 April 26 2019

  • Fixed category and taxonomy selectors so they don’t interfere with each other.
  • If REST Proxy plugin isn’t active, ignore thee site parameter. Props to Magnus Klaaborg Stubman for finding it and practicing responsible disclo’sure (see http://dumpco.re/bugs/wp-plugin-print-my-blog-ssrf).
  • Add wp_footer() in the print-page footer.
  • Do a better job of handling polluted AJAX responses.

1.6.5 April 8 2019

  • For logged-in users, try to show protected and private posts content.
  • Allow users who can read “private posts” to use Print My Blog from the admin.

1.6.4 April 1 2019

  • Fixed a bug that made WP REST API Proxy integration only work when logged in.

1.6.3 March 29 2019

  • Fixed a 1.6.0 bug that made this not work for wordpress.com sites.

1.6.2 March 20 2019

  • Fixed a new bug (introduced in 1.6.0) that prevented WP REST Proxy from working correctly.

1.6.1 March 20 2019

  • Removed some PHP7-only code.

1.6.0 March 20 2019

  • Add filtering by post taxonomies (categories, terms, and custom taxonomies).
  • Foo Gallery ’support.
  • Handle polluted JSON responses.

1.5.0 Feb 27 2019

  • Allow adding or removing any part of post content.
  • Optionally add a divider.
  • Enfold theme compatibility.

1.4.0 Feb 20 2019

  • Allow printing comments.
  • Tweaked “What do you think?” text.

1.3.5 Feb 12 2019

  • Make showing printout meta info (blog’s URL, date of printing, and that it was done with this plugin) optional.
  • Allow removing hyperlinks from content.

1.3.4 Feb 8 2019

  • Add links to ’support, review, and sponsor.

1.3.3 Feb 3 2019

  • Fix fatal error when function “register_block_type” isn’t defined.

1.3.2 Jan 31 2019

  • Remove ellipsis from “Initializing…”.
  • Added assets/styles/plugin-compatibility.css for CSS that is for compatibility with specific plugins (so far that’s Yuzo Related Posts and I Recommend This).

1.3.1 Jan 30 2019

  • Move pretend page down a bit so we dont hide the page title.
  • Remove ellipsis because they look ugly in RTL languages.

1.3.0 Jan 30 2019

  • Improved print-page to look more like a print preview.
  • Use ’submit inputs instead of buttons because themes generally style them better.
  • Add link to make donations.

1.2.4 Jan 15 2019

  • Add Gutenberg Block so site visitors can print the blog.
  • Increased post rendering from 500ms to 200ms per post.
  • Moved WP REST Proxy area outside of advanced area.

1.2.3 Jan 7 2019

  • Fixed a bug from 1.2.0 that caused text resizing to not load.
  • Fixed some featured images not loading because of unu’sual REST API response.
  • Fixed JetPack’s Tiled Galleries by enqueuing its stylesheet.

1.2.2 Jan 1 2019

  • Bump minimum compatible version of WordPress to 4.6 (this will help with translations, and now is probably the easiest time to make the change).

1.2.1 Jan 1 2019

  • Add text domain for transl’ators.

1.2.0 Jan 1 2019

  • Add ’support for printing pages.
  • Fixed a bug where header tags don’t appear when printing from Google Chrome.
  • Show categories, terms, and other custom taxonomies.
  • Add option to remove inline javascript from posts (defaults to remove them).
  • Add option to slowdown post rendering (if it’s too fast, images might not load).

1.1.6 Dec 17 2018

  • Improved layout of WP Video and (JetPack) Tiled Gallery shortcodes.

1.1.5 Dec 17 2018

  • Move featured image and post excerpts into columns.
  • Improved image resizing by using inline styles instead of stylesheets.
  • Updated translated strings for image and text size option names.
  • Improved text resizing.

1.1.4 Dec 8 2018

  • Replaced “Print Preview” with “View Printable Content”.

1.1.3 Dec 8 2018

  • Improved compatibility with themes twentyeleven and twentyfourteen.

1.1.2 Nov 5 2018

  • Update minimum PHP version in readme.txt.

1.1.1 Nov 2 2018

  • Fix image sizes.
  • Fix translation domains.

1.1.0 Nov 2 2018

  • Added page setup options: columns, text size, page-break on new post, and image size.

1.0.1 Nov 1 2018

  • Changes to readme.

1.0.0 Nov 1 2018

  • Initial version.