=== Print My Blog - Print, PDF, & eBook Converter WordPress Plugin ===
Contributors: mnelson4, ryanvdk, szepeviktor, printmybl0g, freemius
Tags: print, PDF, backup, eBook, print button
Requires at least: 4.6
Tested up to: 7.0
Requires PHP: 5.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Donate link: https://printmy.blog/pricing/
Stable tag: 3.27.17

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

== Description ==

**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:

1. Quick Print: print thousands of posts in a few clicks
2. Print Buttons: let site visitors print individual posts
3. Pro Print: make professional-quality books and documents

Each of which takes your WordPress content and optimizes it for print, PDF, and eBook by:

* removing ink guzzlers like site logo, sidebars, and footer
* avoiding page breaks inside images, between images and captions, and even right after headers
* allowing you to use other plugins in your printed output

Read more about each...

= Quick Print =

Quick Print lets you easily print your entire blog to paper, PDF, or eBook.

* **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

https://youtu.be/shOjx-Ijung

**Quick Print 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
* uses your theme’s and plugins’ styles (so Gutenberg and page builders are supported)
* print your entire blog, or filter by author, date, status (e.g. draft, pending, private, password-protected, trashed, etc.), category, and tags
* optionally prints comments
* optionally places each post on a new page
* resizes text
* resizes images or removes them altogether
* replaces embedded videos with a link, full video title, screenshot and QRCode
* optionally removes hyperlinks
* optionally includes post excerpts
* orders posts by date, and 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](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) compliant (no data is collected about you or your visitors)
* 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 be 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!

= Print Buttons =
You can also automatically add print buttons to help your visitors print your 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

https://www.youtube.com/watch?v=rvSo9NCOIX0

**Print Button Features**

* prints individual posts and/or pages just like Quick Print (e.g. omits the theme's header, sidebars, footer, etc.)
* displays on all posts and/or pages, or specific ones using the shortcode `[pmb_print_buttons]`
* enable buttons for print, PDF, and/or eBook
* customize print output settings for each (using the same print settings from Quick Print)
* place buttons above or below content, or somewhere in-between using the shortcode `[pmb_print_buttons]`
* customize print button text (e.g. "Print", "Imprimir", or just a print emoji like 🖨)
* buttons use theme's design
* make more seamless integration with your design or content using the shortcode `[pmb_print_page_url]` to just get the URL of the print page ([see this FAQ for more details](https://wordpress.org/plugins/print-my-blog/#how%20do%20i%20show%20the%20print%20buttons%20on%20posts%20or%20pages%3F))

= Pro Print =
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**, and access premium features (e.g. automatic page references, footnotes, and full control of page margins) with a [Pro PDF Service subscription](https://printmy.blog/pricing/).

https://youtu.be/-RzrbnCbbLw

Example uses:

* **white paper**. Share an in-depth analysis of a topic on your website and in print.
* **printed version of entire website or blog**. Print it all, except ink guzzlers like site heading, sidebars, footers and pop-ups. Use your own printer or send to a printing service such as lulu.com.
* **book from select content**. Add a title page, introduction, table of contents, and pick existing content from your site to make a book. Sell it on Amazon KDP. Just like that, you're an author!
* **new book from scratch**. Write new print-only materials that never appear on your website. Leverage WordPress' great editors and other plugins.
* **lead magnets**. Compile content on a subject into a PDF and grant access after users signup for your email list.
* **members-only content**. Combine with Restrict Content Pro or other plugins to only allow access to select downloadable PDFs of your content.
* **printed course materials**. Create a course using an LMS (learning management system) plugin, and use Print My Blog for learners to print.
* **event brochure**. Let event attendees print a useful copy of your event's details to take with them.
* **printed user manual**. And digital user manual on the website.
* **product brochure**. Use WooCommerce or other WordPress e-commerce plugins to make content accessible to those who would rather not browse online.
* **monthly magazine or newspaper**. Reuse the same design and blog post content to create a digital or print magazine to send to your email subscribers.
* **research paper**. Put your research on your website and print it with a consistent design.
* **restaurant menu**. Optimized for display on your website, and to look great in print.

**Pro Print Features**

* saveable projects
* create digital PDFs, print-ready PDFs, ePub eBooks (paid only), and Microsoft Word documents (paid only)
* select posts, pages, print materials (posts intended only for use in Pro Print) and most custom post types (e.g. products from WooCommerce)
* search and filter for posts based on post type, status, categories, tags, custom taxonomies, author, and publish date
* drag-and-drop reordering of content (and add new print materials on-the-fly)
* organize posts into parts
* add front and back matter (usually numbered with roman numerals with Pro PDF Service)
* select from a variety of pre-built designs (similar to WordPress Themes, but for Pro Print)
* customize designs (each has different settings and can have custom CSS) and can be saved for future projects
* Theme Designers will feel at home creating a custom design using HTML, CSS, and even Javascript
* better integration with plugins than Quick Print (especially those using Javascript)
* save project metadata (e.g. title, extra cover page content, categories etc.)
* automatic table of contents (with page references using Pro PDF Service)
* automatically replace hyperlinks to included content with page references (Pro PDF Service only)
* automatically replace hyperlinks to external content with footnotes (Pro PDF Service only)
* automatically move or automatically resize images to reduce whitespace and fit better on the page (Pro PDF Service only)
* choose image quality and maximum image size to reduce filesize or save ink
* choose article templates (e.g. "Content Only" or "Centered Content")
* choose fonts, font sizes, page sizes and lots more
* optionally apply your active theme's CSS. Note: Themes are usually not designed for print, so we offer a [paid service](https://printmy.blog/pricing/) to those who need help customizing a design to match their brand.

Some designs have features like:

* roman numerals for front matter
* page numbers always in bottom-right corner
* page numbers appearing in outside corners
* running titles (an article's title appears in the top margin on subsequent pages)
* background colors, even with gradients and choosable logos
* two-column layout

Read more about Pro Print in our [extensive user guide](https://printmy.blog/user-guide/).

Wanna See it in Action? [Try Print My Blog on a Free Test Site Now](https://tastewp.com/plugins/print-my-blog)

**Translations**

Print My Blog includes translation files in the following languages:

* German
* French
* Spanish
* Italian
* Japanese

To improve the translations, please [get in touch](https://printmy.blog/contact).

**Give your story life outside your blog!**

Want more? [Tell us what matters to you on GitHub](https://github.com/mnelson4/printmyblog/issues). Thanks to a revenue stream through optional payments, this is actively supported and improved.

= Plugin Compatibility Highlights =

PMB strives to be compatible with all plugins. But here are some that are especially noteworthy:

* [BasePress](https://printmy.blog/2021/06/14/making-a-user-manual-for-web-pdf-print-with-wordpress/) for creating a user manual on both the web and print
* [WP Quick LaTeX](https://wordpress.org/plugins/wp-quicklatex/) for mathematical formulas
* [Translate WordPress with GTranslate](https://wordpress.org/plugins/gtranslate/) for quick and automatic translating of projects
* [WPML](https://wpml.org) for more advanced translating of projects, and adding print buttons in different languages. [Read Translating Projects with WPML Plugin](https://printmy.blog/user-guide/design-layout/translating-projects-with-wpml-plugin/)
* [TablePress](https://wordpress.org/plugins/tablepress/) makes tables look good in print too, even when they span multiple pages

> ⚠️Incompability: Some users have reported incompability issues with the Divi theme. If you are using this theme, please use Print My Blog with caution and always back up your database before use. 

If you are delighted how PMB worked with another plugin, or had trouble, please let us know!

= Our Mission =
1. Preserve your blog for decades to come in a low-tech format.
2. Make WordPress an alternative to Microsoft Word and Google Docs for publishing documents.

= Alternatives to Print My Blog =

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

**Alternatives to Quick Print**
[printmy.blog](https://printmy.blog/now) 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](https://wordpress.org/plugins/anthologize/) is another great plugin for customizing your blog's content before exporting to an e-book format. Also free.
[Blog To HTML](https://wordpress.org/plugins/blog-to-html/) is actually very similar to Print My Blog. It allows you to export your blog to HTML for eBook creation.
[blogbooker](https://blogbooker.com/) prints a book, or creates a PDF, from your blog using their pre-made styles. (Paid service.)
[blog2print](https://www.blog2print.com/) ditto, but temporarily requests your username and password. (Paid service.)

**Alternatives for adding print buttons**
[Print, PDF, Email by PrintFriendly](https://wordpress.org/plugins/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](https://wordpress.org/plugins/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](https://wordpress.org/plugins/wp-print/) printouts quite customizable. Requires editing theme files. Does not use theme’s styles.
[Print-o-Matic](https://wordpress.org/plugins/print-o-matic/) add print buttons with a shortcode. Customizable and can work with theme’s and plugin’s styles.
[PDF Generator for WordPress](https://wordpress.org/plugins/pdf-generator-for-wp/) Create & Customize PDF for Post, Pages and WooCommerce Products

**Alternatives to Pro Print**
[MPL - Publisher](https://wordpress.org/plugins/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](https://pressbooks.com/) is a good paid, hosted alternative. Begin creating or import content for free, and can pay to export to PDF and other formats.
[Designrr](https://designrr.io/) is great for creating short documents, but is a fully paid option.


Best Wishes Publishing for Print with WordPress!

== Installation ==

> ⚠️IMPORTANT: Please make sure that you back up your database before running Print My Blog just in case there is an unexpected issue. 

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

**To Print Your Blog using Quick Print**

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

**To Add Print Buttons to Posts and/or Pages**

1. Under the "Print My Blog" menu item, click "Settings."
1. Beside "Show print buttons on:", check "Posts" and/or "Pages".
1. Click "Save Settings".

Also [see this FAQ](https://wordpress.org/plugins/print-my-blog/#how%20do%20i%20show%20the%20print%20buttons%20on%20posts%20or%20pages%3F) for more options to show the print buttons using shortcodes and postmeta.

**To Print with Pro Print**

1. Under "Print My Blog", click "Pro Print".
1. Follow the instructions presented, or refer to our [user guide](https://printmy.blog/user-guide/).

**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".
1. Add the "Print My Blog" block anywhere you like.
1. Publish the post or page.
1. You may want to add a link to the page in a menu, widget, or footer.

== Frequently Asked Questions ==

= Can I use Pro Print for Free? =
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 (e.g. 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](https://printmy.blog/pricing/) which is paid.

= I have a question about Pro Print =
You're in luck, we have an [entire user guide](https://printmy.blog/user-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.

= How do I create a PDF using Quick Print? =

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

https://youtu.be/ngId20fP5I8

Mozilla Firefox

https://youtu.be/ekwg2a1FPV0

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 [Pro Print Service](https://printmy.blog/pricing/).

= How do I remove the headers and footers from printouts? =
*One option is to upgrade for the [Pro Print Service](https://printmy.blog/pricing/), which adds more professional-looking content to the margins (e.g. 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)

https://youtu.be/2Kvun-nhCWk

Mozilla Firefox (paper)

https://youtu.be/vp-wGdS8ugE

Mozilla Firefox (PDF)

https://youtu.be/sU02oSPWj34

= How do I create an eBook using Print My Blog? =
Creating ePub eBooks requires payment, or you can create ePub eBooks using Quick Print and [dotEPUB browser extension](https:dotepub.com)

https://youtu.be/M5ZZN3KsqOA

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](https://www.wikihow.com/Open-EPUB-Files) and [MOBI files](https://www.howtogeek.com/360419/what-is-a-mobi-file/)), 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" (e.g. to 2000 milliseconds, or whatever
value you need to in order to get all the images to load).

= My PDFs are missing images =
*This is usually a problem with browsers, which our [Pro PDF Service](https://printmy.blog/pricing/) 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.

= 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=
*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.

* Don't use "Disable REST API" plugins
* "All in One WP Security" has a setting called "Disallow Unuahtorized REST API requests". Disable it.
* Wordfence has a setting on their "All Options" page, under "Brute Force Proection", called "Prevent discovery of usernames through ‘/?author=N’ scans, the oEmbed API, and the WordPress REST API". [Disable it.](https://drive.google.com/file/d/1K3-2BjNSWQBUi1uPxq_l2gCj4xXZ44MD/view)
* iThemes security has a setting under "WordPress Tweaks" called "REST API". [Switch it to "Default Access"](https://drive.google.com/file/d/1jvujNmQuMMUDWls1LNndHM8pmpP53Ktt/view) if you want to let site visitors print your blog.

If none of the above help identify the issue, please use Print My Blog plugin's Help page or the [WordPress.org support forum](https://wordpress.org/support/plugin/print-my-blog/) 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

= 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. E.g. related posts, share buttons, etc.
To remove them from printouts, [add the CSS class](https://technicalsupport.blog/2019/01/04/how-to-add-a-custom-css-class-to-gutenberg-blocks/) "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]`.

https://www.youtube.com/watch?v=xxNBkGafH_A

If you're handy at 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.

https://www.youtube.com/watch?v=IMBxCp7AVPE&feature=youtu.be

= How do I make post content only appear in the printout? =
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]`.

https://www.youtube.com/watch?v=xxNBkGafH_A

[Alternatively, add the CSS class](https://technicalsupport.blog/2019/01/04/how-to-add-a-custom-css-class-to-gutenberg-blocks/) "pmb-print-only". See the above question for more details.

= How do I show or hide background colors in the printout? =
* In Pro Print, the background colors are dictated by your project's design, which might be easily customizable. Go to your project's "Customize Design" step and see what settings are available. You can also switch to a different design on the "Choose Design" step, or add some custom CSS to your design (`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"](https://drive.google.com/file/d/1V5c9XJbBGhSeRlmGxqZBRv5n4CTWZyag/view?usp=sharing)

* For Firefox: when viewing the print preview, [click "Page Setup" then uncheck "Print Background (colors & images)".](https://drive.google.com/open?id=1VoVCC6ehqd8vZyO89PQq5hZbQ4u94vBK)

* 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"](https://drive.google.com/open?id=1WjCS84LLOL6v0ccjASjJ3c_vaUmgIfTO)

= How do I force a page break before something? (So it's always at the top of a page) =
[Add the CSS class](https://technicalsupport.blog/2019/01/04/how-to-add-a-custom-css-class-to-gutenberg-blocks/) "pmb-page-break" onto the the element/block you want to be at the top of the page.

= How do I avoid a pagebreak inside something? =
[Add the CSS class](https://technicalsupport.blog/2019/01/04/how-to-add-a-custom-css-class-to-gutenberg-blocks/) "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".

= How do I print a draft? =
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.

https://youtu.be/LemXhydDEvg

= How do I show the print buttons on posts or pages? =
**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".

https://www.youtube.com/watch?v=Ehep6GO5J6c

https://www.youtube.com/watch?v=mWD8kDrhWMs

**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` (i.e. 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.

https://www.youtube.com/watch?v=xxNBkGafH_A

**In a Widget (e.g. 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).

https://youtu.be/tLI1AAnxi-c

**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>
`

= How do I change the color of the print buttons? =
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.
E.g. 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;
}
`

= How do I customize the printouts made with the Print Buttons? =
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, use an emoji, etc.)

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.

https://youtu.be/uPQ3vqm7A2g

= How can I help translate Print My Blog? =
Here's a video showing how to use Poedit to submit a translation of Print My Blog

https://youtu.be/HnbCKywA_xo

= How can I report security bugs? =

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.](https://patchstack.com/database/vdp/print-my-blog)


== Screenshots ==

1. Print My Blog removes junk that doesn’t belong in a printout—like ink-guzzling logos, menus, search-bars, sidebars, footer widgets, etc.
2. Quick Print Setup page. Start printing right away, or customize which posts to print and how to print them.
3. Print Button settings page. Select whether to show on posts or pages and save. Or customize the appearance of the buttons and printout.
4. Print Buttons on a post. Notice how much clutter is removed from the printout!
5. Pro Print project organizer. Search for content, drag-and-drop it into your project, organize it into front matter, back matter, and parts.
6. Pro Print print-ready PDF table of contents. Notice the page references and how the content is grouped into 3 parts.
7. 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).
8. 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!

== Changelog ==
= 3.27.17 April 13, 2026 =
* Test with WordPress 7.0. 
* Enhancement: Have render_toc_with_thumbnails fallback to first article image if no featured image is present.

= 3.27.16 April 7, 2026 =
* Bugfix: Add CSS rules to help prevent images from breaking across pages in the Classic ePud Design. 

= 3.27.15 April 4, 2026 =
* Bugfix: Improved CSS rules for rendering images in the ePub design. 
* Enhancement: Added a Design Development helper function for adding featured image thumbnails to TOC.

= 3.27.14 March 19, 2026 =
* Enhancement: Updated Freemius to version 2.13.0.

= 3.27.13 February 23, 2026 =
* Bugfix: Fixed an Uncaught TypeError that might occur in pmb_set_image_dimension_attributes for some users. 

= 3.27.12 February 9, 2026 =
* Bugfix: Several minor bug fixes and code improvements. 

= 3.27.11 August 4, 2025 =
* Documentation: Added DB backup warning message to Installation Instructions.
* Documentation: Added compatibility note related to Divi Theme.
* Enhancement: Changed Print Option help text wording.

= 3.27.10 August 4, 2025 =
* Enhancement: Updated Freemius to version 2.12.1.
* Bugfix: [Hide Haller Tabloid double header from page preview](https://github.com/mnelson4/printmyblog/issues/395)
* Bugfix: [Added a refresh button on Print Page to prevent rendering issue caused by selecting Print with Browser and Download PDF consecutively.](https://github.com/mnelson4/printmyblog/issues/408)

= 3.27.9 June 18, 2025 =
* Feature: for Print Buttons, optionally open print page in new tab

= 3.27.8 May 30 2025 =
* Enhancement: for Pro Print, added a filter for the project's print page

= 3.27.7 April 24, 2025 =
* Compatibility: hide related posts from Related Post by PickPlugins

= 3.27.6 Jan 27, 2024 =
* Bugfix: for all datepickers, allow choosing dates older than 10 years
* Enhancement: update Freeimus SDK to 2.11.0
* Bugfix: for Pro Print, fix error where DesignRegistry::updateDesign not usable by add-ons

= 3.27.5 December 18, 2024 =
* Feature: for Pro Print, introduce "pmb-wide" CSS class, which is just like "mayer-wide" but applies to other designs too.
* Enhancement: for Pro Print, set a larger maximum size for images before resizing them
* Bugfix: for Pro Print, avoid error on Edit Content step by checking for negative index
* Compatibility: avoid overwriting jQuery UI styles

= 3.27.4 October 19, 2024 =
* Compatibility: for Pro Print, fix Javascript error sometimes occuring with Hustle plugin

= 3.27.3 July 31, 2024 =
* Bugfix, for Pro Print, also use PMB_DEBUG on "pmb_ajax" requests (which are what's actually used currently to create print pages)

= 3.27.2 July 19, 2024 =
* Compatibility: for Pro Print with WPML, fix bug that prevented generating in a secondary language
* Enhancement: for Pro Print, introduce constant PMB_DEBUG to control whether to display warnings when generating a project. Changed default to *not* show warnings.


= 3.27.1 June 21, 2024 =
* Bugfix: for Pro Print, fix warning when a project contains a deleted post
* Bugfix: for Quick Print, escape all post content before rendering to page

= 3.27.0 May 16, 2024 =
* Feature: significant German translations contributed by Torben Bertram of https://archiv-wintermoor.de/
* Feature: for Pro Print Haller Design, allow using a featured image for the header
* Feature: for Pro Print Haller and Mayer Designs, add section template "Full Column Content" which omits article header info but leave the content in columns
* Bugfix: for Quick print, fix an error that prevented the "print" button from being enabled when there was an error processing certain videos.
* Bugfix: for Pro Print Haller Design when printing from the browser, remove duplicate header; all elements with class "pmb-pro-only" get removed when printing using the browser
* Bugfix: for Pro Print, allow changing a design setting to blank (eg the Haller Design's subtitle)
* Enhancement: to facilitate styling articles and hiding certain elements, add CSS classes "pmb-post-id", "pmb-post-author", "pmb-post-author", "pmb-post-date", "pmb-post-categories", "pmb-post-url-wrapper".

= 3.26.3 January 29, 2024 =
* Enhancement: update select2 Javascript library to 4.0.13 to improve compatibility with other plugins that also use it
* Enhancement: add Patchstack Vulnerability Disclosure Program to readme to encourage responsible disclosure of security vulnerabilities

= 3.26.2 January 11, 2024 =
* Enhancement: updated logo
* Bugfix: in Quick Print, fix rendering local videos with the source as a sub-element
* Bugfix: fix regression where some of 3.26.0 changes were lost in 3.26.1 (only released on Freemius)

= 3.26.1 December 20, 2023 =
* Bugfix: in Pro Print, fix QR codes being added onto videos
* Enhancement: mention that Pro Print's Word Documents don't work with Apple Pages


= 3.26.0 November 21, 2023 =
* Enhancement: remove Print My Blog dashboard news as I was just told this is in violation of WordPress.org plugin guidelines.
* Bugfix: fix admin print buttons not including some HTML which could affect the design's layout
* Bugfix: fix image quality adjusting so the CSS class `pmb-dont-change-image-quality` works as intended
* Developer: simplify adding custom fonts to designs (introduces PrintMyBlog\domain\DefaultDesignTemplates::getPdfFontSettings() and adds custom font CSS if those settings are used)
* Enhancement: avoid pagebreaks between images and their captions
* Feature: in Pro Print, introduce CSS class "pmb-snap" to snap a block or image to nearest page edge

= 3.25.5 August 31, 2023 =
* Bugfix: in Pro Print, fix missing dates when posts were on the same date
* Bugfix: fix missing PMB icon on WP plugins update page

= 3.25.4 August 31, 2023 =
* Bugfix: on the designs page, fixed bug that only showed first 10 designs
* Feature: added GTranslate plugin compatibility (see https://wordpress.org/plugins/gtranslate/)
* Enhancement: removed unnecessary jQuery UI Javascript file

= 3.25.3 July 17, 2023 =
* Feature: in Pro Print PDFs, use [DocRaptor's Pipeline 10.1](https://docraptor.com/documentation/article/7898168-2022-07-27-pipeline-10-and-10-1-with-prince-15-and-15-1) which adds support for WebP and AVIF images and other features

= 3.25.2 July 5, 2023 =
* Enhancement: improve stability of Freemius license/subscription features by updating Freemius SDK to 2.5.10

= 3.25.1 June 23, 2023 =
* Bugfix: in Pro Print for Word, make nested items in the Word TOC appear indented by adjusting their heading levels
* Translation: props to @ryanvdk for improving the Japanese translations
* Miscellaneous: added @szepeviktor as a contributor (contributed to 2.1.4, so this is old)

= 3.25.0 June 16, 2023 =
* Feature: in Pro Print Word Documents, add setting to specify maximum image height
* Enhancement: make post row actions to generate PMB files smaller (eg instead of "Generate Word Document" it just says "Word Document") to save space

= 3.24.4 June 6, 2023 =
* Bugfix: in Pro Print for Word, avoid warning in header and footers when using default settings
* Documentation: point users of the Haller Tabloid to the CSS class "pmb-dont-snap" to avoid image snapping
* Compatibility: in Pro Print, prevent [AdvancedExcerpt](https://wordpress.org/plugins/advanced-excerpt/) from filtering content on the print page

= 3.24.3 May 29, 2023 =
* Bugfix: in Admin Print Buttons, respect the design's "Apply Website Theme" setting
* Bugfix: in Admin Print Buttons, add a unique code onto print page URLs

= 3.24.2 May 29, 2023 =
* Feature: show Admin Print Buttons to Free users too (again, they can be removed from Print My Blog > Settings)

= 3.24.1 May 29, 2023 =
* Feature: display Admin Print Buttons by default (although they can still be removed from Print My Blog > Settings)

= 3.24.0 May 27 2023 =
* Feature: add Admin Print Buttons, to quickly create PDF, eBooks and Word documents from individual posts, pages, and other post types. Go to Print My Blog > Settings to enable.
* Feature: add Designs page, where you can set the default design for each project and customize any design (even ones not in use on any projects currently.)

= 3.23.5 May 16, 2023 =
* Bugfix: fix creating database tables when the database has no charset specified
* Feature: in Pro Print Mayer Magazine, add "Post Contents" option so you can include post ID, author, date, categories and tags, URL, excerpt, and custom fields; allow removing title, featured image and content

= 3.23.4 May 11, 2023 =
* Compatibility: in Pro Print with Elementor, fix extra columns appearing in projects when using nested columns

= 3.23.3 May 9, 2023 =
* Enhancement: in Pro Print, note that Mayer Magazine's pagebreaks work best with Pro PDF Service; not so great with browsers
* Bugfix: in Pro Print's Mayer Magazine avoid warning when Cover Preamble is blank

= 3.23.2 April 5, 2023  =
* Bugfix: in Pro Print, avoid losing styles if there are warnings on the print page
* Bugfix: in Pro Print with Pro PDF Service, prevent "Filesystem access not allowed" error because of relative URLs
* Bugfix: in Pro Print content editing step, prevent exceeding maximum nesting level by dragging

= 3.23.1 March 10, 2023 =
* Bugfix: in Pro Print, avoid post being reset by setting up WP_Query properly

= 3.23.0 March 9, 2023 =
* Feature: in Pro Print Word Documents, add support for headers and footers to documents
* Bugfix: in Pro Print, prevent 403 error for some webservers because we used spaces and colons in the URL

= 3.22.0 February 20, 2023 =
* Feature: in Pro Print PDFs and ePubs, add design options to set custom fonts
* Feature: allow uploading font files to website
* Feature: add Chinese translations
* Feature: in Pro Print Classic Digital PDF and Classic Print-Ready PDF designs, add a "Show a Dividing Line Between Posts" setting
* Bugfix: in Pro Print PDFs, apply the chosen font to content in margins (not just the main body)
* Bugfix: in Pro Print Classic Digital PDF and Classic Print-Ready PDF designs, respect the "Each Post Begins on a New Page" setting
* Bugfix: in Pro Print Word, enqueue PMB's common print page CSS

= 3.21.5 February 13, 2023 =
* Enhancement: in Pro Print's Edit Content step, give a warning if project is empty
* Bugfix: in Pro Print, when printing from browser, bring back the TOC (it disappeared in 3.21.0 when printing from the browser)

= 3.21.4 February 8, 2023 =
* Bugfix: in Pro Print, add support for relative hyperlinks, hyperlinks with wrong protocol, hyperlinks with an extra "www", and support for anchor links
* Bugfix: in Pro Print ePubs, make anchor links work for Kindle Previewer too
* Bufix: in Pro Print Word docs, fix regression where file wouldn't download

= 3.21.3 February 3, 2023 =
* Bugfix: in Pro Print, remove warning for designs that don't use Page Reference Text (e.g., Mayer Magazine)

= 3.21.2 January 30, 2023 =
* Compatibility: hide WP Socializer sharing bar
* Compatibility: hide Post Like Dislike button

= 3.21.1 January 27, 2023 =
* Compatibility: in Pro Print with Elementor, handle lazy-loaded YouTube and Vimeo videos
* Bugfix: in Pro Print, fix downloading ePubs even when there is an error downloading an image

= 3.21.0 January 26, 2023 =
* Compatibility: in Pro Print, improve integration with many other plugins by doing most print-page processing when the download button is pressed (which gives other plugins more time to do all their processing)

= 3.20.6 January 17, 2023 =
* Bugfix: in Pro Print ePubs, tidy up galleries
* Compatibility: show Elementor items even if they're animated
* Bugfix: in Pro Print ePubs, support CSS classes to prevent pagebreaks

= 3.20.5 January 10, 2023 =
* Bugfix: in Pro Print ePubs, keep video text with video screenshot
* Compatibility: in Pro Print with Elementor, handle lazy-loaded local videos
* Compatibility: in Pro Print with Elementor, centre images by default
* Compatibility: in Pro Print with Elementor, fix galleries in Calibre eReader

= 3.20.4 January 5, 2023 =
* Bugfix: in Pro Print, fix protocols in URLs in inline styles added after pageload (again from Advances Ads plugin)
* Bugfix: in Pro Print, when creating Word docs, handle errors when images dont exist
* Bugfix: in Pro Print, prevent some Javascript from running out of order
* Compatibility: hide One Click Accessibility Toolbar on Print Page

= 3.17.0 September 28, 2022 =
* Feature: build Print Page on front end requests insead of admin AJAX requests so more plugins' JS and CSS load
* Compatibility: make Supsystic tables render in projects
* Compatibility: with WPML, prevent projects from hiding when selecting a different language

= 3.16.5 September 5, 2022 =
* Bugfix: show all projects when there are more than 10

= 3.16.4 August 19, 2022 =
* Compatibility: don't cut off Elementor/WooCommerce items at the bottom of the page of PDFs
* Compatibility: avoid leading empty page of PDFs when using WooCommerce

= 3.16.3 August 16, 2022 =
* Bugfix: prevent warning from JetPack infinite scroll during generation by using $wp_the_query instead of $wp_query

= 3.16.2 August 3, 2022 =
* Bugfix: avoid lazy loading featured images in Pro Print