Make printing your blog easy and impressive. For you & your visitors. One post or thousands.
Offline publishing for you, site visitors, and the world outside WordPress.
Print My Blog makes WordPress content useful outside of your website, like in print, PDFs, and other formats. It has 3 main features:
Each of which takes your WordPress content and optimizes it for print, PDF, and eBook by:
Read more about each…
Quick Print lets you easily print your entire blog to paper, PDF, or eBook.
Quick Print Features
You can also automatically add print buttons to help your visitors print your blog.
Print Button Features
[pmb_print_buttons]
[pmb_print_buttons]
[pmb_print_page_url]
to just get the URL of the print page (see this FAQ for more details)Replace Google Docs and Microsoft Word with WordPress! Turn existing posts, pages, and custom post types —or write all new print materials— into professional-looking documents that are ready to share with customers and the world.
Use your browser to print Pro Print projects for free, but some features (like automatic page references, footnotes, and full control of page margins) require printing using our Pro PDF Service for a subscription fee.
Example uses:
Pro Print Features
Some designs have features like:
Read more about Pro Print in our extensive user guide.
Wanna See it in Action? Try Print My Blog on a Free Test Site Now
Translations
Print My Blog includes translation files in the following languages:
To improve the translations, please get in touch.
Give your story life outside your blog!
Want more? Tell us what matters to you on GitHub. Thanks to a revenue stream through optional payments, this is actively supported and improved.
PMB strives to be compatible with all plugins. But here are some that are especially noteworthy:
If you are delighted how PMB worked with another plugin, or had trouble, please let us know!
If this doesn’t meet your needs, there are good paid and free alternatives.
Alternatives to Quick Print
printmy.blog we run 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 like Quick Print, 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.
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.
PDF Generator for WordPress Create & Customize PDF for Post, Pages and WooCommerce Products
Alternatives to Pro Print
MPL – Publisher is another free eBook creator / PDF converter plugin you can use to self-publish a book. To be honest probably the best alternative right now. There’s both free and paid versions.
PressBooks is a good paid, hosted alternative. Begin creating or import content for free, and can pay to export to PDF and other formats.
Designrr is great for creating short documents, but is a fully paid option.
Aspose.Words for exporting Microsoft Word documents from selected posts.
Best Wishes Publishing for Print with WordPress!
/wp-content/plugins/print-my-blog
directory, or install the plugin through the WordPress plugins screen directly.To Print Your Blog using Quick Print
To Add Print Buttons to Posts and/or Pages
Also see this FAQ for more options to show the print buttons using shortcodes and postmeta.
To Print with Pro Print
Under “Print My Blog”, click “Pro Print”
Follow the instructions presented, or refer to our user guide.
To Add a Print Form for Visitors
Print My Blog removes junk that doesn’t belong in a printout— like ink-guzzling logos, menus, search-bars, sidebars, footer widgets, etc.
Quick Print Setup page. Start printing right away, or customize which posts to print and how to print them.
Print Button settings page. Select whether to show on posts or pages and save. Or customize the buttons' and printout appearance.
Print Buttons on a post. Notice how much clutter is removed from the printout!
Pro Print project organizer. Search for content, drag-and-drop it into your project, organize in front matter, back matter, and parts.
Pro Print print-ready PDF table of contents. Notice the page references and how the content is grouped into 3 parts.
Pro Print print-ready PDF page spread. Notice the running head of the article title (yellow), the graphs generated via a plugin using Javascript (green), the external hyperlinks converted to footnotes (blue), and the page numbers are on the outside of each page (pink).
Pro Print digital PDF using Buurma Whitepaper design. The design adds a background color with a gradient, and a custom logo behind the page number. Designers can use the full power of HTML and CSS in their PDF designs!
Yes, you can use PMB’s Pro Print for free (it’s included in this plugin) to create projects, and can print or make PDFs with them using your web browser. Your web browser will not, however, support all the features that Pro Print is capable of (eg adding page references, footnotes, and fully controlling page margins).
ePub eBooks with Pro Print require payment.
So, creating PDFs and printing with PMB Pro Print is free, but it’s best when used with our Pro PDF Service which is paid.
You’re in luck, we have an entire use guide that walks you through the first project, then onto customizations, and even through making your own custom designs in HTML, CSS, and Javascript (with a bit of PHP). These FAQs are mostly about Quick Print and Print Buttons.
Quick Print 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.
If you use Pro Print, you can download the PDF using our print service.
One option is to upgrade for the Pro Print service, which adds more professional-looking content to the margins (like just page numbers, running headers, and logos).
You probably don’t want the site’s title, date, and URL appearing in printouts. Here is how to remove it for various browsers:
Google Chrome (for paper and PDF)
Mozilla Firefox (paper)
Mozilla Firefox (PDF)
Create ePub eBooks requires payment, or you can create ePub eBooks using Quick Print and dotEPUB browser extension
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.
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).
This is usually a problem with browsers, which our Pro PDF service hasn’t experienced. So you may want to try Pro Print with the Pro PDF Service.
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.
This isn’t a problem for Pro Print (even when printing using your browser for free.) If you’d rather use Quick Print, keep reading…
A plugin has probably disabled the WP REST API, which Print My Blog uses for loading data.
This is often done by a security plugin.
If none of the above help identify the issue, please use Print My Blog plugin’s Help page or the WordPress.org support forum to report the problem.
Along with that, it can also be helpful to follow the steps in the following video in order to provide more information about the error.
https://www.youtube.com/watch?v=JNK39YuuhMM
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”.
Alternatively, you can use the shortcodes [pmb_web_only_text]...text, text, text...[/pmb_web_only_text]
and [pmb_web_only_blocks]...paragraphs, images, other blocks...[/pmb_web_only_blocks]
.
If you’re handy writing CSS, add some additional CSS to your theme that uses the “pmb-print-page” class which is added to the body
tag of the print page.
For example, if you want to hide all divs with CSS class “my-video” in printouts, but not on the regular website, add the following CSS to your theme:
.pmb-print-page div.my-video{ display:none; }
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.
Use the shortcodes [pmb_print_only_text]...text, text, text...[/pmb_print_only_text]
and [pmb_print_only_blocks]...paragraphs, images, other blocks...[/pmb_print_only_blocks]
.
Alternatively, add the CSS class “pmb-print-only”. See the above question for more details.
body{background-color:black;}
).*If you’re using Quick Print, the background colors are controlled by your WordPress theme and the browser.
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.
For Google Chrome: when printing, click on “More Options”, then uncheck “Background graphics”
For Firefox: when viewing the print preview, click “Page Setup” then uncheck “Print Background (colors & images)”.
For Firefox Extension “Print to PDF”: click on “Add-ons”, then click “Print to PDF”, then “Options”, and uncheck “Whether the background colors should be shown”
Add the CSS class “pmb-page-break” onto the the element/block you want to be at the top of the page.
Add the CSS class “pmb-no-break” onto the element/block. The browser will avoid a pagebreak in that element if possible.
If browsers ignore that, you force the pagebreak to happen just before an element by adding the CSS class “pmb-page-break”.
The easiest way to print a draft post is to enable the front-end print buttons, then view the preview of the post, and click the print button you want.
Using Print My Blog Settings and Custom Fields
You can add print buttons to all posts and/or pages from the WordPress admin dashboard, under “Print My Blog”, click “Settings”, then, next to “Show print buttons on:” select the posts and/or pages.
If you don’t want to show them on certain posts or pages, add the custom field named “pmb_buttons” to them with the value “hide”.
Alternatively, if you only want to show the button on specific posts or pages, add the custom field “pmb_buttons” to those posts or pages with the value “show”.
Using a Shortcode in the Post Body
You can add print buttons directly into your posts and pages by using the shortcode [pmb_print_buttons]
. You can also supply it with the ID of a different post or page like so: [pmb_print_buttons ID=123]
.
You can alternatively use the shortcode [pmb_print_page_url]
to just get the URL of the print page for more advanced integrations. You can supply it with the ID of a different post, and the format
(defaults to “print”, but also accepts “pdf” or “ebook”), and whether to add_protocol
(ie, by default, the URL begins with “http://” or “https://”, but setting this to 0
will prevent that, in case it was already added), like so: [pmb_print_page_url format=pdf add_protocol=0]
will produce the URL of the print page for a PDF but not add the “https://” onto the start of the URL.
In a Widget (eg sidebar or footer) using a Shortcode
Alternatively, you can add the print buttons to a widget. In the WordPress admin dashboard, under the “Appearance” menu item, click “Widgets”. Add a shortcode widget and add [pmb_print_buttons]
like mentioned previously. The print buttons will only appear on single posts (eg not on an archive page).
Editing Your Theme’s Template Files
If you’d like to add the print buttons somewhere in your theme’s template files, add the following PHP code anywhere inside the loop:
<?php echo do_shortcode('[pmb_print_buttons]'); ?>
or
<a href="<?php echo esc_url(do_shortcode('[pmb_print_page_url]')); ?>">View Print-Ready Version of Page</a>
The print button’s color is determined by your theme. But if you can’t change the button colors using your theme’s settings, you can change it with some custom CSS.
Eg, this here’s how to change the button’s text color to black and background color to white:
For Block-Based Themes
1. Go to wp-admin on your website
2. On the left, under “Appreance”, click “Editor”
3. On the left, click “Styles”
4. Click the pencil icon that appears (“Edit Styles”)
5. On the top-right, beside “Styles”, click the three dots
6. Select “Additional CSS”
7. Add the following code:
For Legacy Themes:
1. Go to wp-admin on your website
2. On the left, under “Appearance”, click “Customize”
3. On the left, under Additional CSS” add the the following code:
div.pmb-print-this-page a{ color:black; background-color:white; }
From the Print My Blog Settings page, click “Customize Buttons”. From here you can customize:
* whether print buttons appear by default above or below the post content
* which print buttons appear (print, PDF, and eBook)
* the text used on each button (translate them, or just an emoji, or whatever)
Under each format, you can also click “Show Options”. These options affect the printout produced by the button. These
options are the same as when printing out multiple posts simultaneously: you can remove the printout metadata, the post’s featured image, etc.
Here’s a video showing how to use Poedit to submit a translation of Print My Blog
You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team helps validate, triage and handle any security vulnerabilities. Report a security vulnerability.
pmb-dont-change-image-quality
works as intended<pre>
tags) from overflowing off the pagethe_meta
function and replaced with pmb_the_meta
pmb_web_only_text
to hide text from printouts and pmb_web_only_blocks
to hide entire blocks (paragraphs, images, and any other block) from printouts. Also, the corresponding shortcodes pmb_print_only_text
and pmb_print_only_blocks
were introduced.pmb-no-break-before
(avoids pagebreaks before a block), pmb-no-break
(avoids pagebreaks inside a block, eg a paragraph), pmb-no-break-after
(avoids pagebreaks after a block), pmb-break-before
(always add a pagebreak before the block), pmb-break-after
(always add a pagebreak after the block)pmb-dont-snap
to prevent a block (eg image) from snapping, even if the design specifies it should.[pmb_print_page_url format=pdf]
(don’t put quotes around the format)[pmb_print_page_url]
for just returning the URL of the print page (for advanced integration of print buttons)<base>
tag to the header too<base>
tag to print pages