{"id":140378,"date":"2021-05-05T08:43:15","date_gmt":"2021-05-05T08:43:15","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/post-to-pdf\/"},"modified":"2026-03-15T13:02:30","modified_gmt":"2026-03-15T13:02:30","slug":"post-to-pdf","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/post-to-pdf\/","author":16973082,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1","stable_tag":"trunk","tested":"6.9.4","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"PDF Generator for Posts & Pages \u2013 Export Any Post Type to PDF","header_author":"Gravity Master","header_description":"Convert Post to pdf in frontend wordress","assets_banners_color":"8ca6d9","last_updated":"2026-03-15 13:02:30","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":80,"downloads":4439,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.1":"<p>Major update: introduces the visual layout builder, ACF integration, and a fully redesigned admin UI. All existing settings are preserved on upgrade. No manual migration required.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3483093,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3483093,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3483098,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3483098,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3483093,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3483093,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3483093,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2526486,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"<strong>Admin Dashboard<\/strong> \u2013 Clean settings panel with tabbed navigation and branding header","2":"<strong>PDF Layout Builder<\/strong> \u2013 Visual layout selector with live preview that updates in real time","3":"<strong>Content Block Controls<\/strong> \u2013 Drag to reorder blocks, toggle visibility, set per-block alignment","4":"<strong>Styling Tab<\/strong> \u2013 Color pickers for background, text, header, footer, and button colors","5":"<strong>Post Meta Keys Tab<\/strong> \u2013 Searchable ACF field dropdown and custom meta key entry","6":"<strong>Translation Tab<\/strong> \u2013 Edit all front-end strings without a translation plugin","7":"<strong>Frontend Download Button<\/strong> \u2013 Clean branded download button on the post page","8":"<strong>Generated PDF \u2013 Single Column<\/strong> \u2013 Example PDF output with title, image, and content","9":"<strong>Generated PDF \u2013 Image Left<\/strong> \u2013 Two-column layout with image on left"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[257788,228739,140699,8842,72376],"plugin_category":[],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-140378","plugin","type-plugin","status-publish","hentry","plugin_tags-export-post-pdf","plugin_tags-pdf-download","plugin_tags-pdf-generator","plugin_tags-post-to-pdf","plugin_tags-wordpress-pdf","plugin_committers-gravitymaster97"],"banners":{"banner":"https:\/\/ps.w.org\/post-to-pdf\/assets\/banner-772x250.png?rev=3483098","banner_2x":"https:\/\/ps.w.org\/post-to-pdf\/assets\/banner-1544x500.png?rev=3483098","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/post-to-pdf\/assets\/icon-128x128.png?rev=3483093","icon_2x":"https:\/\/ps.w.org\/post-to-pdf\/assets\/icon-256x256.png?rev=3483093","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/post-to-pdf\/assets\/screenshot-1.png?rev=3483093","caption":"<strong>Admin Dashboard<\/strong> \u2013 Clean settings panel with tabbed navigation and branding header"},{"src":"https:\/\/ps.w.org\/post-to-pdf\/assets\/screenshot-2.png?rev=3483093","caption":"<strong>PDF Layout Builder<\/strong> \u2013 Visual layout selector with live preview that updates in real time"},{"src":"https:\/\/ps.w.org\/post-to-pdf\/assets\/screenshot-3.png?rev=3483093","caption":"<strong>Content Block Controls<\/strong> \u2013 Drag to reorder blocks, toggle visibility, set per-block alignment"},{"src":"https:\/\/ps.w.org\/post-to-pdf\/assets\/screenshot-4.png?rev=2526486","caption":"<strong>Styling Tab<\/strong> \u2013 Color pickers for background, text, header, footer, and button colors"}],"raw_content":"<!--section=description-->\n<p><strong>PDF Generator for Posts &amp; Pages<\/strong> is the easiest way to let your visitors download a beautifully formatted PDF of any WordPress post, page, or custom post type \u2014 with zero coding required.<\/p>\n\n<p>Whether you run a blog, a WooCommerce store, a job board, or a directory site, this plugin adds a <strong>Download PDF<\/strong> button directly on your content pages. Visitors get a clean, print-ready PDF in one click.<\/p>\n\n<p><a href=\"https:\/\/codesmade.com\/demo\/product\/album\/\">Demo<\/a> | <a href=\"https:\/\/www.codesmade.com\/contact-us\/\">Support<\/a> | <a href=\"https:\/\/www.codesmade.com\/store\/post-to-pdf-pro\/\">Pro Version<\/a> | <a href=\"https:\/\/www.codesmade.com\/convert-post-to-pdf-in-wordpress\/\">Documentation<\/a><\/p>\n\n\n\n<h3>Why Use PDF Generator for Posts &amp; Pages?<\/h3>\n\n<p>Most PDF plugins force you to edit PHP templates or paste complex shortcodes. This plugin gives you a <strong>visual drag-and-drop layout builder<\/strong> inside your WordPress dashboard \u2014 simply choose a layout, toggle which content blocks to include, and save. Your PDF updates instantly.<\/p>\n\n\n\n<h3>Core Features<\/h3>\n\n<p><strong>Visual PDF Layout Builder<\/strong>\nChoose from four ready-made page layouts \u2014 Single Column, Image Left, Image Right, and Image Top. Drag and reorder content blocks (title, image, description, custom fields, read more link). Set per-block alignment. See a live preview update as you make changes.<\/p>\n\n<p><strong>Supports All Post Types<\/strong>\nWorks with Posts, Pages, and any registered Custom Post Type \u2014 including WooCommerce Products, job listings, property listings, portfolios, and more. Enable or disable PDF export per post type from the admin settings.<\/p>\n\n<p><strong>ACF Custom Field Support<\/strong>\nAutomatically detects Advanced Custom Fields (ACF). When ACF is active, the Post Meta Keys tab shows a searchable dropdown of all your ACF field groups. Select the fields you want to include in the PDF \u2014 labels and values are pulled automatically. Works with text, number, email, URL, select, checkbox, and relationship fields.<\/p>\n\n<p><strong>Custom Post Meta Keys<\/strong>\nNo ACF? No problem. Manually add any WordPress post meta key. The plugin fetches the value from the database and includes it in the PDF. Search your existing meta keys server-side as you type \u2014 no page reload needed.<\/p>\n\n<p><strong>Full Color and Typography Control<\/strong>\nCustomize the PDF background color, body text color, header and footer background and text colors, download button colors, title font size, content font size, and image size \u2014 all from the Styling tab.<\/p>\n\n<p><strong>Header and Footer Text<\/strong>\nAdd custom header and footer text to every generated PDF page. Great for branding, copyright notices, or contact details.<\/p>\n\n<p><strong>Flexible Button Placement<\/strong>\nPlace the PDF download button before the content, after the content, or use the shortcode for a completely custom location.<\/p>\n\n<p><strong>Shortcode Support<\/strong>\nUse <code>[gmptp_single_post]<\/code> to place the PDF button anywhere in your templates, or <code>[gmptp_single_post id=\"123\"]<\/code> to generate a PDF button for a specific post from any page.<\/p>\n\n<p><strong>Translation Ready<\/strong>\nAll front-end strings \u2014 button label, loading messages, read more text \u2014 are fully translatable from the Translation tab in the admin. Compatible with WPML and Polylang.<\/p>\n\n<p><strong>Lightweight PDF Generation<\/strong>\nPDFs are generated directly in the visitor's browser using React PDF renderer \u2014 no server-side processing, no temporary files stored on your server, no load on your hosting.<\/p>\n\n\n\n<h3>Perfect For<\/h3>\n\n<ul>\n<li><strong>Bloggers<\/strong> \u2014 Let readers save and share articles as PDFs<\/li>\n<li><strong>WooCommerce stores<\/strong> \u2014 Offer downloadable product spec sheets<\/li>\n<li><strong>Job boards<\/strong> \u2014 Export job listings as formatted PDFs<\/li>\n<li><strong>Real estate sites<\/strong> \u2014 Generate property information PDFs<\/li>\n<li><strong>News and magazines<\/strong> \u2014 Archive articles in PDF format<\/li>\n<li><strong>Documentation sites<\/strong> \u2014 Export guides and tutorials to PDF<\/li>\n<li><strong>Schools and universities<\/strong> \u2014 Download course or event pages as PDFs<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/www.codesmade.com\/store\/post-to-pdf-pro\/\">Get Post to PDF Pro \u2192<\/a><\/p>\n\n\n\n<h3>Our Other Free Plugins<\/h3>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/post-to-pdf\/\">Post to PDF (Free)<\/a> \u2013 The free version of this plugin<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/pdf-catalog-woocommerce\/\">PDF Catalog for WooCommerce<\/a> \u2013 Generate multi-page product catalogs<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/gm-woocommerce-quote-popup\/\">Product Enquiry for WooCommerce<\/a> \u2013 Add enquiry forms to product pages<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/product-quote-cart-for-wc\/\">Add to Quote for WooCommerce<\/a> \u2013 Quote cart functionality<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/woo-show-single-variations-shop-category\/\">Show Variations on Shop Page<\/a> \u2013 Display product variations in shop listings<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>post-to-pdf-pro<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install it via the WordPress admin panel under <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Navigate to <strong>Post to PDF<\/strong> in the left admin menu.<\/li>\n<li>On the <strong>Single Post<\/strong> tab, enable the post types you want to show the PDF button on.<\/li>\n<li>Use the <strong>PDF Layout<\/strong> tab to choose your layout and configure content blocks.<\/li>\n<li>Use the <strong>Styling<\/strong> tab to match the PDF colors to your brand.<\/li>\n<li>Optionally, add post meta keys on the <strong>Post Meta Keys<\/strong> tab.<\/li>\n<li>Visit any enabled post type page on your site \u2014 the PDF download button will appear automatically.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20work%20with%20woocommerce%3F\"><h3>Does this plugin work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Enable the <strong>Products<\/strong> post type from the Single Post tab. The PDF will include the product title, featured image, short description, long description, and any custom meta fields you configure \u2014 including WooCommerce product attributes added as post meta.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20advanced%20custom%20fields%20%28acf%29%3F\"><h3>Does this plugin support Advanced Custom Fields (ACF)?<\/h3><\/dt>\n<dd><p>Yes. When ACF is active, the Post Meta Keys tab shows a searchable dropdown of all your ACF field groups and fields. Select any field to include its label and value in the PDF. Both standard ACF field types and custom meta keys are supported.<\/p><\/dd>\n<dt id=\"where%20does%20the%20pdf%20download%20button%20appear%3F\"><h3>Where does the PDF download button appear?<\/h3><\/dt>\n<dd><p>By default the button appears before the post content. You can change this to after the content, or choose <strong>Custom Location<\/strong> and place the <code>[gmptp_single_post]<\/code> shortcode exactly where you want it in your template.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20text%20on%20the%20download%20button%3F\"><h3>Can I change the text on the download button?<\/h3><\/dt>\n<dd><p>Yes. Go to the <strong>Translation<\/strong> tab in the plugin settings and update the button label, loading message, and other front-end strings.<\/p><\/dd>\n<dt id=\"is%20the%20pdf%20generated%20on%20the%20server%20or%20in%20the%20browser%3F\"><h3>Is the PDF generated on the server or in the browser?<\/h3><\/dt>\n<dd><p>PDFs are generated entirely in the visitor's browser using a JavaScript PDF renderer. This means zero server load, no temporary files, and instant downloads \u2014 even on shared hosting.<\/p><\/dd>\n<dt id=\"can%20i%20include%20custom%20post%20meta%20fields%20in%20the%20pdf%3F\"><h3>Can I include custom post meta fields in the PDF?<\/h3><\/dt>\n<dd><p>Yes. Go to the <strong>Post Meta Keys<\/strong> tab, click <strong>Add Field<\/strong>, and either search your ACF fields from the dropdown or type any WordPress meta key manually. All added fields will be included in the PDF when the <strong>Custom Fields<\/strong> block is enabled in the Layout Builder.<\/p><\/dd>\n<dt id=\"what%20layouts%20are%20available%20for%20the%20pdf%3F\"><h3>What layouts are available for the PDF?<\/h3><\/dt>\n<dd><p>Four layouts are included: <strong>Single Column<\/strong> (all content stacked vertically), <strong>Image Left<\/strong> (image on left, content on right), <strong>Image Right<\/strong> (content on left, image on right), and <strong>Image Top<\/strong> (full-width image above all content).<\/p><\/dd>\n<dt id=\"can%20i%20put%20the%20pdf%20button%20in%20a%20custom%20location%20using%20a%20shortcode%3F\"><h3>Can I put the PDF button in a custom location using a shortcode?<\/h3><\/dt>\n<dd><p>Yes. Set Display Location to <strong>Custom Location (shortcode)<\/strong> in the Single Post settings, then place <code>[gmptp_single_post]<\/code> anywhere in your theme or page builder. To generate a PDF button for a specific post from another page, use <code>[gmptp_single_post id=\"post_id\"]<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20gutenberg%20and%20page%20builders%3F\"><h3>Does it work with Gutenberg and page builders?<\/h3><\/dt>\n<dd><p>Yes. The shortcode works in Gutenberg's shortcode block, as well as Elementor, Divi, Beaver Builder, WPBakery, and any builder that supports WordPress shortcodes.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20translation%20ready%3F\"><h3>Is the plugin translation ready?<\/h3><\/dt>\n<dd><p>Yes. All user-facing strings are translatable. The plugin is compatible with WPML, Polylang, and standard <code>.pot<\/code> file-based translations. You can also translate all strings directly from the Translation tab in the admin settings without needing any translation plugin.<\/p><\/dd>\n<dt id=\"what%20php%20version%20is%20required%3F\"><h3>What PHP version is required?<\/h3><\/dt>\n<dd><p>PHP 7.4 or higher is required. PHP 8.0+ is fully supported.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added: Visual PDF layout builder with four layout templates (Single Column, Image Left, Image Right, Image Top)<\/li>\n<li>Added: Drag-and-drop content block ordering with per-block alignment control<\/li>\n<li>Added: Live PDF layout preview that reflects saved colors and settings<\/li>\n<li>Added: ACF (Advanced Custom Fields) integration \u2014 searchable field dropdown in Post Meta Keys tab<\/li>\n<li>Added: Server-side search for post meta keys \u2014 no page load, debounced REST API queries<\/li>\n<li>Added: Radio-button source selector (ACF Field \/ Custom Meta) in Add Field modal<\/li>\n<li>Added: Rating, Support, and Upgrade to Pro buttons in the admin header<\/li>\n<li>Added: Toast notification system replacing modal popups<\/li>\n<li>Improved: Removed all @wordpress\/components dependencies \u2014 fully custom UI components<\/li>\n<li>Improved: Color pickers now use native <code>&lt;input type=\"color\"&gt;<\/code> wrapped in a styled label<\/li>\n<li>Improved: Custom Fields now render in PDF without requiring legacy show\/hide option<\/li>\n<li>Improved: PHP API uses <code>get_field()<\/code> for ACF values with <code>get_post_meta()<\/code> fallback<\/li>\n<li>Improved: Array and object ACF field values normalised to readable strings in PDF<\/li>\n<li>Fixed: PDF viewer removed from frontend \u2014 download button only, no inline preview<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Single post PDF download button<\/li>\n<li>Custom post type support<\/li>\n<li>Custom meta field support<\/li>\n<li>Color and typography customization<\/li>\n<li>Header and footer text<\/li>\n<li>Translation support<\/li>\n<li>Shortcode placement<\/li>\n<\/ul>","raw_excerpt":"Add a one-click PDF download button to any post, page, or custom post type. Includes a visual layout builder, ACF field support, color control, and sh &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/140378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=140378"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gravitymaster97"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=140378"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=140378"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=140378"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=140378"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=140378"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=140378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}