{"id":341744,"date":"2026-07-21T05:55:18","date_gmt":"2026-07-21T05:55:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ebook-crafter\/"},"modified":"2026-09-25T17:54:29","modified_gmt":"2026-09-25T17:54:29","slug":"ebookcrafter","status":"publish","type":"plugin","link":"https:\/\/en-au.wordpress.org\/plugins\/ebookcrafter\/","author":13796322,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.1.2","requires":"6.3","requires_php":"8.1","requires_plugins":null,"header_name":"eBook Crafter","header_author":"eBook Crafter Team","header_description":"Gather scattered content on your site and create an eBook with ease.","assets_banners_color":"d4d5d4","last_updated":"2026-09-25 17:54:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/ebookcrafter.com","header_author_uri":"https:\/\/ebookcrafter.com\/about","rating":5,"author_block_rating":0,"active_installs":100,"downloads":1809,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"Hypersonic","date":"2026-08-02 17:02:43","revision":3631958},"1.0.1":{"tag":"1.0.1","author":"Hypersonic","date":"2026-08-11 10:00:38","revision":3641670},"1.0.2":{"tag":"1.0.2","author":"Hypersonic","date":"2026-08-19 17:51:06","revision":3655133},"1.0.4":{"tag":"1.0.4","author":"Hypersonic","date":"2026-09-25 17:54:29","revision":3713397}},"upgrade_notice":{"1.0.4":"<p>The Table of Contents page is now locked and generated from your Chapter blocks. Fixes Table of Contents links that could point at the wrong chapter, and content after a collapsible section or columns being left out of the PDF preparation. Recommended for all users.<\/p>","1.0.2":"<p>Confirms compatibility with WordPress 7.1. No functional changes.<\/p>","1.0.1":"<p>Security hardening for local image handling during PDF generation, plus fixes for images that previously did not embed. Recommended for all users.<\/p>","1.0.0":"<p>Initial WordPress.org free release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3616524,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3616524,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3628832,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3628832,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"ebookcrafter\/page":{"name":"ebookcrafter\/page","title":"Book Section"},"ebookcrafter\/chapter":{"name":"ebookcrafter\/chapter","title":"eBook Chapter"},"ebookcrafter\/toc":{"name":"ebookcrafter\/toc","title":"Table of Contents"}},"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3713387,"resolution":"1","location":"assets","locale":"","width":1675,"height":709},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3713387,"resolution":"2","location":"assets","locale":"","width":1663,"height":518},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3713397,"resolution":"3","location":"assets","locale":"","width":1291,"height":855},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3713397,"resolution":"4","location":"assets","locale":"","width":1608,"height":835},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3713397,"resolution":"5","location":"assets","locale":"","width":1604,"height":820},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3713397,"resolution":"6","location":"assets","locale":"","width":1216,"height":872},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3713397,"resolution":"7","location":"assets","locale":"","width":1216,"height":859},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3713397,"resolution":"8","location":"assets","locale":"","width":1688,"height":906},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3713397,"resolution":"9","location":"assets","locale":"","width":1103,"height":853}},"screenshots":{"1":"The All eBooks view.","2":"The eBook Library page.","3":"Content tab for gathering your eBook content. Typography and template selection shown are (Pro).","4":"The 'Table of Contents' Book Section block.","5":"The 'Chapter' Book Section block.","6":"Templates tab for choosing a template (Pro).","7":"Build tab for exporting your PDF eBook. Prince exports are (Pro).","8":"Template gallery (Pro).","9":"Bundled fonts and font search under Settings (Pro)."}},"plugin_section":[],"plugin_tags":[7629,75502,1764,8842,3153],"plugin_category":[50],"plugin_contributors":[272569,147734,160788,245577],"plugin_business_model":[],"class_list":["post-341744","plugin","type-plugin","status-publish","hentry","plugin_tags-ebook","plugin_tags-lead-magnet","plugin_tags-pdf","plugin_tags-post-to-pdf","plugin_tags-print","plugin_category-media","plugin_contributors-hypersonic","plugin_contributors-mehul0810","plugin_contributors-mmuhsin","plugin_contributors-usuual","plugin_committers-hypersonic"],"banners":{"banner":"https:\/\/ps.w.org\/ebookcrafter\/assets\/banner-772x250.png?rev=3628832","banner_2x":"https:\/\/ps.w.org\/ebookcrafter\/assets\/banner-1544x500.png?rev=3628832","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ebookcrafter\/assets\/icon-128x128.png?rev=3616524","icon_2x":"https:\/\/ps.w.org\/ebookcrafter\/assets\/icon-256x256.png?rev=3616524","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-1.png?rev=3713387","caption":"The All eBooks view."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-2.png?rev=3713387","caption":"The eBook Library page."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-3.png?rev=3713397","caption":"Content tab for gathering your eBook content. Typography and template selection shown are (Pro)."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-4.png?rev=3713397","caption":"The 'Table of Contents' Book Section block."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-5.png?rev=3713397","caption":"The 'Chapter' Book Section block."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-6.png?rev=3713397","caption":"Templates tab for choosing a template (Pro)."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-7.png?rev=3713397","caption":"Build tab for exporting your PDF eBook. Prince exports are (Pro)."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-8.png?rev=3713397","caption":"Template gallery (Pro)."},{"src":"https:\/\/ps.w.org\/ebookcrafter\/assets\/screenshot-9.png?rev=3713397","caption":"Bundled fonts and font search under Settings (Pro)."}],"raw_content":"<!--section=description-->\n<p>eBook Crafter turns your existing posts, pages and custom post types into PDF eBooks, right from inside WordPress. Gather your finest content, edit it in the native block editor and export your work in PDF format, ready to read on screen or print on paper.<\/p>\n\n<p>Finished PDFs automatically appear in your Media Library, making it easy to sell through WooCommerce or Easy Digital Downloads, or provide through a membership plugin.<\/p>\n\n<blockquote>\n  <p>I've used eBook Crafter on my site, and was surprised at the quality of it. It worked very well with no bugs at all. It worked natively in the block editor too no problems!<\/p>\n  \n  <p>\u2014 Blake Whittle, owner of Infinite Uploads<\/p>\n<\/blockquote>\n\n<p>Check out the full video walkthrough of eBook Crafter:<\/p>\n\n<p>https:\/\/www.youtube.com\/watch?v=yH8TMbew1Rw<\/p>\n\n<h4>From published posts to a PDF export you can sell<\/h4>\n\n<p>Every post you publish gets its traffic for a limited period and then goes into the archive. If you package that content as an eBook, readers will happily pay for it, sign up to gain access, or print and share offline. eBook Crafter keeps the whole process exactly where your content has already been created and saved over the years.<\/p>\n\n<h4>What will you make with eBook Crafter?<\/h4>\n\n<ul>\n<li><strong>Travel bloggers<\/strong> - Sell travel guides built from posts you've published.<\/li>\n<li><strong>Food bloggers<\/strong> - Collect your readers' favorite recipes into a book.<\/li>\n<li><strong>Marketers<\/strong> - Create lead magnets to trade expert knowledge for email addresses.<\/li>\n<li><strong>Educators<\/strong> - Turn lessons from LifterLMS, TutorLMS or LearnDash into course packs and question banks. Pull in the relevant custom post types, edit in the block editor and export your PDF in minutes.<\/li>\n<li><strong>Photographers<\/strong> - Present your best work in a print-ready format clients can buy.<\/li>\n<li><strong>Students and teachers<\/strong> - Build yearbooks to capture a school year in pictures and text.<\/li>\n<li><strong>Anyone<\/strong> - Preserve your memories in a book you can print.<\/li>\n<\/ul>\n\n<h4>Three main steps to a finished PDF<\/h4>\n\n<ol>\n<li><strong>Gather<\/strong> - Search your posts, pages and custom post types and pull them into your book as chapters.<\/li>\n<li><strong>Craft<\/strong> - Arrange cover pages and chapters and a table of contents will be auto-added. Next, fine-tune content for every page in the block editor interface. Pro will let you add pre-made templates and custom fonts to your PDF eBooks.<\/li>\n<li><strong>Publish<\/strong> - Export a PDF and it will be automatically added to your Media Library. If you're using Pro, you'll get page numbers added to your table of contents. Once your eBooks are in the Media Library, you can then sell them with WooCommerce, attach them to an opt-in form or gate them behind a membership.<\/li>\n<\/ol>\n\n<h4>Free features<\/h4>\n\n<ul>\n<li>Custom eBook post type<\/li>\n<li>Page, Chapter and Table of Contents blocks<\/li>\n<li>Basic PDF generation, with a default template and no page numbers in Table of Contents <\/li>\n<li>PDF eBooks saved in the Media Library<\/li>\n<li>No limits on the number of PDFs created<\/li>\n<li>No page limits<\/li>\n<li>No watermarks<\/li>\n<\/ul>\n\n<h4>Know what Pro adds<\/h4>\n\n<p>The free version is great for getting started, with default fonts and a standard template.<\/p>\n\n<p><strong><a href=\"https:\/\/ebookcrafter.com\/\">eBook Crafter Pro<\/a><\/strong> brings you everything in free, plus:<\/p>\n\n<ol>\n<li>The Prince PDF engine to create eBooks with sharper typography, accurate page numbers in the Table of Contents, cleaner breaks between pages and support for modern CSS layouts.<\/li>\n<li>Pre-made book templates, and the ability to add your own templates and custom fonts from among 1,900+ Google Fonts. <\/li>\n<li>Unlimited watermarked previews with Prince, plus 20 final exports every 30 days.<\/li>\n<li>Tagged PDFs through Prince, so screen readers can navigate your eBook. <\/li>\n<li>Priority support and a direct say in feature requests for the future roadmap of eBook Crafter.<\/li>\n<\/ol>\n\n<h4>Try Pro risk-free<\/h4>\n\n<p>Start a free 14-day trial (credit card required), followed by a 30-day money-back guarantee from the date of purchase.<\/p>\n\n<p>Pro features are provided entirely by the separate Pro plugin. This plugin contains no locked functionality.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the jsDelivr CDN to fetch Twemoji emoji images during PDF generation.<\/p>\n\n<ul>\n<li><strong>What it is and what it is used for:<\/strong> The bundled Dompdf engine cannot render system emoji glyphs, so any emoji found in your book content are replaced with the open-source <a href=\"https:\/\/github.com\/jdecked\/twemoji\">Twemoji<\/a> PNG images, fetched from jsDelivr (<code>cdn.jsdelivr.net<\/code>) and embedded into the PDF.<\/li>\n<li><strong>What data is sent and when:<\/strong> Only when you generate a PDF and only if the book content contains emoji. The request contains the Unicode codepoints of the emoji being rendered (as part of the image filename) and standard HTTP request metadata (such as your server's IP address). No personal data, content, or account information is transmitted. No requests are made while browsing or editing.<\/li>\n<li><strong>Service provider:<\/strong> jsDelivr \u2014 <a href=\"https:\/\/www.jsdelivr.com\/terms\">Terms of Service<\/a>, <a href=\"https:\/\/www.jsdelivr.com\/terms\/privacy-policy-jsdelivr-net\">Privacy Policy<\/a>. The Twemoji artwork is licensed under CC-BY 4.0.<\/li>\n<\/ul>\n\n<h3>Source code<\/h3>\n\n<p>This plugin's JavaScript is built with <a href=\"https:\/\/www.npmjs.com\/package\/@wordpress\/scripts\">@wordpress\/scripts<\/a>. The complete source of every compiled file in <code>build\/<\/code> is included in the plugin's <code>src\/<\/code> directory, with the build configuration (<code>package.json<\/code>, <code>webpack.config.js<\/code>, <code>postcss.config.js<\/code>).<\/p>\n\n<p>To rebuild the compiled assets:<\/p>\n\n<ol>\n<li><code>npm install<\/code><\/li>\n<li><code>npm run build<\/code><\/li>\n<\/ol>\n\n<p>PHP dependencies in <code>vendor\/<\/code> are managed with Composer (<code>composer.json<\/code>); the bundled libraries (such as <a href=\"https:\/\/github.com\/dompdf\/dompdf\">Dompdf<\/a>) each carry their own license and repository information in their headers.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/ebookcrafter<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Open <strong>eBook Crafter<\/strong> in the admin menu to create your first eBook.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20wordpress%20and%20php%20versions%20are%20required%3F\"><h3>What WordPress and PHP versions are required?<\/h3><\/dt>\n<dd><p>WordPress 6.3 or higher and PHP 8.1 or higher.<\/p><\/dd>\n<dt id=\"does%20ebook%20crafter%20work%20with%20page%20builders%20or%20the%20classic%20editor%3F\"><h3>Does eBook Crafter work with page builders or the Classic Editor?<\/h3><\/dt>\n<dd><p>Currently, page builders are not supported. You will need to have the block editor from Gutenberg enabled to use eBook Crafter's features.<\/p><\/dd>\n<dt id=\"which%20content%20can%20i%20include%20in%20my%20ebook%3F\"><h3>Which content can I include in my eBook?<\/h3><\/dt>\n<dd><p>Posts, pages and custom post types. If your lessons, recipes or portfolio items are saved in a custom post type, you can pull them into your book as chapters.<\/p><\/dd>\n<dt id=\"can%20i%20sell%20or%20gate%20the%20pdfs%20i%20create%3F\"><h3>Can I sell or gate the PDFs I create?<\/h3><\/dt>\n<dd><p>Yes. Finished PDFs are saved to your Media Library, so you can sell them with WooCommerce\/Easy Digital Downloads, or place them behind an exclusive membership using a membership plugin.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20pdfs%20if%20i%20uninstall%20ebook%20crafter%3F\"><h3>What happens to my PDFs if I uninstall eBook Crafter?<\/h3><\/dt>\n<dd><p>They stay in the Media Library.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20call%20external%20services%3F\"><h3>Does this plugin call external services?<\/h3><\/dt>\n<dd><p>No account or API key is required, and PDFs are generated locally on your server. The only external request the plugin makes is fetching Twemoji emoji images from the jsDelivr CDN during PDF generation, and only when your book content contains emoji \u2014 see the \"External services\" section for details. Pro upgrades are purchased on ebookcrafter.com (external link only; no license SDK is bundled in this free plugin).<\/p><\/dd>\n<dt id=\"does%20pro%20send%20my%20content%20to%20an%20external%20service%3F\"><h3>Does Pro send my content to an external service?<\/h3><\/dt>\n<dd><p>Yes. When you export with Prince, your book is rendered by DocRaptor in the US through our rendering service. Book content is never logged, the finished PDF is deleted from our servers within 24 hours and the only permanent copy is saved in your Media Library.<\/p><\/dd>\n<dt id=\"is%20ebook%20crafter%20gdpr%20friendly%3F\"><h3>Is eBook Crafter GDPR friendly?<\/h3><\/dt>\n<dd><p>The free plugin builds PDFs on your own server and sends no book content or personal data elsewhere. Pro sends book content to DocRaptor only to build the PDF, as described above.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Change: each entry in the Table of Contents now has a faint gray line beneath it in the editor.<\/li>\n<li>Change: a Chapter page now shows a short note in the editor explaining how to add chapters from your posts using the sidebar.<\/li>\n<li>Change: the Table of Contents page is now locked - its blocks can no longer be added, moved or removed, though the heading text can still be renamed - and a note in the editor explains that its list is generated from your Chapter blocks.<\/li>\n<li>Change: the Page block's \"Page Type\" field is now a plain label instead of a dropdown. A page's role - cover, table of contents, chapter, or back cover - is decided by its position in the book and the Table of Contents toggle.<\/li>\n<li>Change: the Build tab now asks you to save before building. A PDF is made from the saved eBook, so a change still in the editor - a contents page you had just switched off, say - was left out of the file you got back.<\/li>\n<li>Fix: an entry in the Table of Contents could lead to the wrong chapter. They now come from one place, so every entry goes where it says it does.<\/li>\n<li>Fix: an eBook saved with an older version could lose its Table of Contents settings when reopened.<\/li>\n<li>Fix: everything following a collapsible section or a set of columns lost its Table of Contents links, and pictures in those parts were left unoptimized. Only the content above the first such block was being prepared for the PDF.<\/li>\n<li>Fix: building could fail on hosting that does not offer PHP's file-type detection. The picture's file extension is used instead.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix: building a PDF could freeze when the book used a picture that is no longer on the server - one deleted from the Media Library, say, or content imported without its images. The build now leaves that picture out and keeps going, so the text closes up around it instead of the Build tab sitting at part-way and never finishing.<\/li>\n<li>Change: pictures loaded from another website are given five seconds to answer while a book is being built. A slow or unreachable site can no longer hold up your PDF.<\/li>\n<li>Fix: opening a book in the editor could freeze the page for several seconds, and longer for books with many pages. Every page loaded your posts, post types and categories as soon as the book opened, even though that list is only used for adding chapters. It now loads the first time you view the \"Add Chapter from Post Types\" panel on a chapter page.<\/li>\n<li>Fix: adding many chapters at once no longer locks up the editor. Book styling was applied one block at a time, so twenty chapters meant thousands of separate updates; they are now applied in a single pass. A spinner and a live count (Processing chapter 3 of 20) show progress while chapters are added.<\/li>\n<li>Change: the Post Type list for adding chapters now hides types that never hold book content, such as WordPress internals, book templates, invoice and form templates, and WooCommerce order plumbing. Products remain available. Developers can adjust the list with the ebookcrafter.chapterPostTypes filter.<\/li>\n<li>Change: the eBook Library is now open to Editors as well as Administrators, and lists every build. Deleting a PDF now requires permission to edit the book it was built from, and a PDF whose book has since been deleted can be cleared by any Editor or Administrator. Developers can change who has access with the ebookcrafter\/library_capability filter.<\/li>\n<li>Fix: after a bulk delete in the eBook Library, a notice now says how many PDFs were deleted and how many were skipped for lack of permission.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Compatibility: tested with WordPress 7.1<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Security: hardened how local image URLs are mapped to files on disk during PDF generation, so an image in your book content can no longer reference a file outside the plugin, uploads or wp-content directories<\/li>\n<li>Fix: images whose URLs carry a cache-busting query string (for example ?ver=123) now embed correctly instead of appearing as broken images<\/li>\n<li>Fix: images with percent-encoded characters in the filename, such as spaces, now embed correctly<\/li>\n<li>Fix: images referenced over http:\/\/ on an https:\/\/ site are now recognized as local and read from disk rather than fetched over the network<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>WordPress.org free release based on Dompdf for PDF generation.<\/li>\n<\/ul>","raw_excerpt":"You&#039;ve been publishing posts for years. Now gather them and create PDF eBooks you can sell, print or give away.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341744"}],"author":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hypersonic"}],"wp:attachment":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341744"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341744"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341744"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341744"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341744"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}