{"id":351201,"date":"2026-08-18T18:50:18","date_gmt":"2026-08-18T18:50:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/100prints\/"},"modified":"2026-08-18T18:49:55","modified_gmt":"2026-08-18T18:49:55","slug":"100prints","status":"publish","type":"plugin","link":"https:\/\/ca.wordpress.org\/plugins\/100prints\/","author":23542336,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0.4","requires":"6.3","requires_php":"8.1","requires_plugins":null,"header_name":"100Prints","header_author":"100PrintsWithMe","header_description":"Generate personalized certificates, ID cards, tickets and PDFs directly from your WordPress site.","assets_banners_color":"ebf2f9","last_updated":"2026-08-18 18:49:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/100printswith.me","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"controcode","date":"2026-08-18 18:49:55"}},"upgrade_notice":{"1.0.1":"<p>Initial release of 100Prints for WordPress.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3653420,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3653420,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3653420,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3653420,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"hundredprints\/form":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"hundredprints\/form","version":"1.0.0","title":"100Prints Form","category":"design","icon":"forms","description":"Input fields that feed into the 100Prints Document block. No submit button \u2014 values are read by the Document block on Download.","attributes":{"fields":{"type":"array","default":[]},"appearancePreset":{"type":"string","default":"inherit"},"layoutDirection":{"type":"string","default":"vertical"},"layoutGap":{"type":"string","default":"1rem"}},"supports":{"html":false,"align":true,"customClassName":true,"color":{"background":true,"text":true,"link":true,"gradients":true},"typography":{"fontSize":true,"lineHeight":true,"fontFamily":true,"fontWeight":true,"fontStyle":true},"spacing":{"margin":true,"padding":true,"blockGap":true},"border":{"color":true,"radius":true,"style":true,"width":true},"shadow":true},"textdomain":"100prints","editorScript":"file:.\/index.js","viewScript":"file:.\/frontend.js","style":"file:.\/style-index.css","render":"file:.\/render.php"},"hundredprints\/document":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"hundredprints\/document","version":"1.0.0","title":"100Prints Document Button","category":"design","icon":"download","description":"A button that generates and downloads a document using 100Prints.","supports":{"html":false,"align":true,"customClassName":true,"color":{"background":true,"text":true,"link":true,"gradients":true},"typography":{"fontSize":true,"lineHeight":true,"fontFamily":true,"fontWeight":true,"fontStyle":true},"spacing":{"margin":true,"padding":true,"blockGap":true},"border":{"color":true,"radius":true,"style":true,"width":true},"shadow":true},"attributes":{"appearancePreset":{"type":"string","default":"inherit"},"templateId":{"type":"string"},"templateSource":{"type":"string","default":"bundled"},"variableMap":{"type":"array","default":[]},"buttonLabel":{"type":"string","default":"Download Document"},"buttonColor":{"type":"string","default":""},"buttonIcon":{"type":"string","default":"download"},"showPreview":{"type":"boolean","default":false},"showPreviewButton":{"type":"boolean","default":false},"requireLogin":{"type":"boolean","default":false},"outputFormat":{"type":"string","default":"pdf"},"renderQuality":{"type":"string","default":"high"},"renderSide":{"type":"string","default":"both"},"outputFilename":{"type":"string","default":""},"buttonVariant":{"type":"string","default":"primary"},"buttonWidth":{"type":"string","default":"auto"},"allowedRoles":{"type":"array","default":[]}},"textdomain":"100prints","editorScript":"file:.\/index.js","script":"file:.\/view.js","style":"file:.\/style-index.css","render":"file:.\/render.php"}},"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3653420,"resolution":"1","location":"assets","locale":"","width":1684,"height":932},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3653420,"resolution":"2","location":"assets","locale":"","width":1600,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3653420,"resolution":"3","location":"assets","locale":"","width":1672,"height":941},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3653420,"resolution":"4","location":"assets","locale":"","width":1600,"height":900}},"screenshots":{"1":"Browse starter and custom document templates from the 100Prints Template Library.","2":"Create and customize document templates on 100PrintsWithMe, then use them in WordPress.","3":"Map document variables to WordPress data and visitor inputs from the Gutenberg editor.","4":"Configure the document block, preview the template, and let visitors download personalized documents."}},"plugin_section":[],"plugin_tags":[2191,276354,148076,259709,1764],"plugin_category":[50],"plugin_contributors":[276355],"plugin_business_model":[],"class_list":["post-351201","plugin","type-plugin","status-publish","hentry","plugin_tags-certificate","plugin_tags-document-generator","plugin_tags-gutenberg","plugin_tags-id-card","plugin_tags-pdf","plugin_category-media","plugin_contributors-controcode","plugin_committers-controcode"],"banners":{"banner":"https:\/\/ps.w.org\/100prints\/assets\/banner-772x250.png?rev=3653420","banner_2x":"https:\/\/ps.w.org\/100prints\/assets\/banner-1544x500.png?rev=3653420","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/100prints\/assets\/icon-128x128.png?rev=3653420","icon_2x":"https:\/\/ps.w.org\/100prints\/assets\/icon-256x256.png?rev=3653420","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/100prints\/assets\/screenshot-1.png?rev=3653420","caption":"Browse starter and custom document templates from the 100Prints Template Library."},{"src":"https:\/\/ps.w.org\/100prints\/assets\/screenshot-2.png?rev=3653420","caption":"Create and customize document templates on 100PrintsWithMe, then use them in WordPress."},{"src":"https:\/\/ps.w.org\/100prints\/assets\/screenshot-3.png?rev=3653420","caption":"Map document variables to WordPress data and visitor inputs from the Gutenberg editor."},{"src":"https:\/\/ps.w.org\/100prints\/assets\/screenshot-4.png?rev=3653420","caption":"Configure the document block, preview the template, and let visitors download personalized documents."}],"raw_content":"<!--section=description-->\n<p>100Prints lets you add personalized document generation to your WordPress website using native Gutenberg blocks.<\/p>\n\n<p>Visitors can enter their details, preview their personalized document, and download it directly from your website.<\/p>\n\n<p>Create certificates, ID cards, event badges, membership cards, tickets, and other printable documents without manually preparing each document.<\/p>\n\n<p>Design once. Generate thousands. Render documents directly in the visitor's browser.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Native Gutenberg Blocks:<\/strong> Add document generation to pages, posts, and custom post types using the WordPress Block Editor.<\/li>\n<li><strong>Browser-Side Rendering:<\/strong> Documents are rendered directly in the visitor's browser using the bundled JavaScript rendering engine.<\/li>\n<li><strong>Smart Variable Mapping:<\/strong> Populate document fields dynamically from WordPress data, URL parameters, visitor form inputs, system values, or static values.<\/li>\n<li><strong>Bundled Starter Templates:<\/strong> Includes 5 ready-to-use starter templates for certificates, badges, ID cards, membership cards, and similar documents.<\/li>\n<li><strong>Generation History &amp; Audit Logs:<\/strong> Review generation records including status, format, template, timestamps, and other generation information.<\/li>\n<li><strong>Flexible Layout:<\/strong> Form and document blocks can be placed independently so you can build custom document-generation pages.<\/li>\n<li><strong>Extensible Architecture:<\/strong> Developers can register custom variable sources using PHP filters.<\/li>\n<\/ul>\n\n<h4>3rd-Party Service Disclosure<\/h4>\n\n<p>100Prints can optionally connect to the <strong>100PrintsWithMe Platform<\/strong> to access and synchronize custom templates created on the 100Prints design platform.<\/p>\n\n<ul>\n<li><strong>Service Name:<\/strong> 100Prints Cloud Platform<\/li>\n<li><strong>Service Domain:<\/strong> https:\/\/api.100printswith.me and https:\/\/100printswith.me<\/li>\n<li><strong>Purpose:<\/strong> Fetching cloud template definitions, validating the connected account, and synchronizing custom templates.<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/100printswith.me\/terms<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/100printswith.me\/privacy<\/li>\n<\/ul>\n\n<p>Connecting an account is optional. The plugin includes 5 bundled starter templates that can be used without connecting an external account.<\/p>\n\n<h3>Bundled Starter Templates<\/h3>\n\n<ol>\n<li><strong>Professional Certificate of Achievement<\/strong> - Great for online courses and training.<\/li>\n<li><strong>Volunteer Appreciation Certificate<\/strong> - Ideal for non-profits and community events.<\/li>\n<li><strong>Event &amp; Conference Badge<\/strong> - Perfect for summits and workshops.<\/li>\n<li><strong>Employee \/ Student ID Card<\/strong> - Ideal for institutions.<\/li>\n<li><strong>VIP Membership Card<\/strong> - Great for clubs and membership programs.<\/li>\n<\/ol>\n\n<h3>Dynamic Variable Sources<\/h3>\n\n<p>Document fields can be populated dynamically from:<\/p>\n\n<ul>\n<li>Current User - Name, Email, Display Name, Registered Date<\/li>\n<li>Post \/ Page Data - Post Title, ID, Date, Author<\/li>\n<li>Site Information - Site Title, Tagline, URL<\/li>\n<li>System Values - Current Date, Current Time<\/li>\n<li>URL Query Parameters<\/li>\n<li>Visitor Form Inputs - Custom fields entered by visitors on the frontend<\/li>\n<li>Static Text Values<\/li>\n<\/ul>\n\n<h3>Customization<\/h3>\n\n<p>100Prints supports Gutenberg's native styling controls and custom CSS classes for advanced customization.<\/p>\n\n<p>Common CSS selectors include:<\/p>\n\n<ul>\n<li><code>.wp-block-hundredprints-document<\/code><\/li>\n<li><code>.hundredp-document-card<\/code><\/li>\n<li><code>.hundredp-button-group<\/code><\/li>\n<li><code>.hundredp-download-btn<\/code><\/li>\n<li><code>.hundredp-preview-btn<\/code><\/li>\n<li><code>.hundredp-manual-inputs-form<\/code><\/li>\n<li><code>.hundredp-manual-field<\/code><\/li>\n<li><code>.hundredp-manual-input-field<\/code><\/li>\n<\/ul>\n\n<p>The plugin also exposes CSS custom properties for advanced theme customization, including:<\/p>\n\n<ul>\n<li><code>--hundredp-accent<\/code><\/li>\n<li><code>--hundredp-accent-hover<\/code><\/li>\n<li><code>--hundredp-surface<\/code><\/li>\n<li><code>--hundredp-text<\/code><\/li>\n<li><code>--hundredp-muted<\/code><\/li>\n<\/ul>\n\n<p>For complete styling examples and customization guidance:<\/p>\n\n<p>https:\/\/100printswith.me\/docs\/wordpress\/styling<\/p>\n\n<h3>Source Code and Build Process<\/h3>\n\n<p>The full human-readable source code and build tools for this plugin are publicly available at:<\/p>\n\n<p>https:\/\/github.com\/Controcode\/100printswithme-wordpress-plugin<\/p>\n\n<p>The repository contains the source files and build configuration used to generate the production assets included in this plugin.<\/p>\n\n<p>To rebuild the production assets:<\/p>\n\n<ol>\n<li>Install Node.js 18 or later and npm.<\/li>\n<li>Clone the repository.<\/li>\n<li>Run <code>npm install<\/code>.<\/li>\n<li>Run <code>npm run build<\/code>.<\/li>\n<\/ol>\n\n<p>The build process uses <code>@wordpress\/scripts<\/code> to compile the source files into production assets in the <code>build\/<\/code> directory.<\/p>\n\n<h4>Third-Party Bundled Assets<\/h4>\n\n<ul>\n<li><strong>Konva<\/strong> - MIT License - https:\/\/github.com\/konvajs\/konva<\/li>\n<li><strong>jsPDF<\/strong> - MIT License - https:\/\/github.com\/parallax\/jsPDF<\/li>\n<li><strong>Phosphor Icons<\/strong> - MIT License - https:\/\/github.com\/phosphor-icons\/phosphor-icons<\/li>\n<li><strong>Plus Jakarta Sans<\/strong> - SIL Open Font License 1.1 - https:\/\/github.com\/google\/fonts<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install 100Prints from the WordPress Plugins screen, or upload the <code>100prints<\/code> plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Open <strong>100Prints<\/strong> from the WordPress admin menu.<\/li>\n<li>Choose a starter template or connect your 100PrintsWithMe account to access custom templates.<\/li>\n<li>Add the <strong>100Prints Document<\/strong> and <strong>100Prints Form<\/strong> blocks to a page, post, or custom post type.<\/li>\n<li>Configure your template, variables, and visitor inputs.<\/li>\n<li>Publish the page so visitors can generate and download personalized documents.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%20to%20use%20100prints%3F\"><h3>Do I need an account to use 100Prints?<\/h3><\/dt>\n<dd><p>No account is required for the bundled starter templates. Visitors can generate and download personalized documents without creating a WordPress account.<\/p>\n\n<p>A 100PrintsWithMe account can optionally be connected to access custom templates created on the 100Prints design platform.<\/p><\/dd>\n<dt id=\"can%20anonymous%20visitors%20download%20documents%3F\"><h3>Can anonymous visitors download documents?<\/h3><\/dt>\n<dd><p>Yes. 100Prints supports public document-generation pages where visitors can enter their information and generate or download personalized documents without logging into WordPress.<\/p><\/dd>\n<dt id=\"how%20are%20pdfs%20generated%20without%20slowing%20down%20my%20server%3F\"><h3>How are PDFs generated without slowing down my server?<\/h3><\/dt>\n<dd><p>100Prints renders supported documents in the visitor's browser using the bundled JavaScript rendering engine. This avoids server-side PDF rendering for the document generation workflow.<\/p><\/dd>\n<dt id=\"is%20user%20data%20kept%20private%3F\"><h3>Is user data kept private?<\/h3><\/dt>\n<dd><p>Document rendering takes place in the visitor's browser. Personal data used to populate document fields is not sent to external servers for document rendering.<\/p>\n\n<p>Depending on the site's configuration, generation metadata such as request status, template information, or visitor IP address may be recorded for generation history and abuse prevention.<\/p><\/dd>\n<dt id=\"can%20i%20use%20custom%20templates%3F\"><h3>Can I use custom templates?<\/h3><\/dt>\n<dd><p>Yes. Create custom templates on the 100PrintsWithMe platform, then connect your account using an API key to access those templates from WordPress.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Added pre-signed HMAC authentication for protected REST API requests.<\/li>\n<li>Added five bundled starter templates.<\/li>\n<li>Added native Gutenberg Document and Form blocks.<\/li>\n<li>Added browser-side document rendering and download support.<\/li>\n<li>Added dynamic variable mapping from WordPress data and visitor inputs.<\/li>\n<\/ul>","raw_excerpt":"Generate personalized certificates, ID cards, tickets, badges, and other documents directly from your WordPress site using Gutenberg.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351201"}],"author":[{"embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/controcode"}],"wp:attachment":[{"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351201"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351201"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351201"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351201"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351201"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}