Сүрөттөө
PDF Gift Card lets you create beautiful, fully personalized PDF gift cards for your WooCommerce store.
It lets store owners upload their own PDF design and dynamically populate it with real order data — no coding required.
How it works
- Upload your PDF design (created in Canva, Illustrator, Affinity Designer, etc.)
- Drag & drop dynamic fields onto your template
- Associate the template with any WooCommerce product
- When an order is placed, the PDF is automatically generated and attached to the confirmation email
Available dynamic fields
- Product name
- Customer name
- Recipient name
- Personalized message
- Purchase date
- Expiry date
- Order number
- Unique voucher code
- Price
- Product image (Pro)
- Site logo (Pro)
- QR Code (Pro)
What’s included in the Free plan
- 1 template
- All text fields
- PDF preview with real product data
- Product associations
- Multilingual admin: English, French, German, Spanish, Dutch
Upgrade to Pro
- Unlimited templates
- Image fields (logo, product photo, QR code)
- Plugin language selector
- Priority email support
- Automatic updates
Multilingual support
The plugin interface is fully translated into:
French, English, German (Deutsch), Spanish (Espanol), Dutch (Nederlands)
Security & GDPR
- Generated PDFs stored in a protected, non-public directory
- Configurable auto-deletion of PDFs after N days
- No personal data stored beyond what WooCommerce already holds
Requirements
- WordPress 6.0+
- WooCommerce 8.0+
- PHP 8.0+
Орнотуу
- Upload the
pdf-gift-cardfolder to/wp-content/plugins/ - Activate the plugin through the Plugins screen
- Go to PDF Gift Cards in your WordPress admin menu
- Create your first template, upload your PDF design, and drag & drop your fields
- Associate the template with a WooCommerce product
- Done!
FAQ.KG
-
Does this work with any PDF file?
-
Yes. Any PDF created in Canva, Adobe Illustrator, Affinity Designer or any other tool works as a base template.
-
Can the customer fill in the recipient’s name themselves?
-
Yes. The plugin adds a “Recipient name” and “Personalized message” field on the product page, which the customer fills in before adding to cart. These values are then injected into the PDF.
-
Is the generated PDF attached to the WooCommerce order email?
-
Yes. The PDF is automatically attached to the customer’s order confirmation email. You can also enable a separate dedicated email.
-
Is this GDPR compliant?
-
Yes. PDFs are stored in a protected, non-publicly-accessible directory. You can configure automatic deletion after a number of days (default: 365).
-
Does it work with variable products?
-
Yes, both simple and variable WooCommerce products are supported.
-
Is it compatible with WooCommerce HPOS?
-
Yes, the plugin fully supports WooCommerce High Performance Order Storage (HPOS / custom order tables).
-
What’s the difference between Free and Pro?
-
The Free plan allows 1 template with text fields. The Pro plan unlocks unlimited templates, image fields (logo, product photo, QR code), and priority support.
Сын-пикирлер
Contributors & Developers
“PDF Gift Cards for WooCommerce” is open source software. The following people have contributed to this plugin.
МүчөлөрүTranslate “PDF Gift Cards for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Өзгөртүүлөр
1.1.3 — 2026-08-05
- Fix: The “Regenerate & Resend” button on the order screen did nothing — admin scripts were never loaded on the order edit screen (neither HPOS nor legacy storage), so the button had no JS handler at all
- Fix: No PDF was generated when an order went straight from “On hold” to “Completed” — the usual path for offline payments (bank transfer, cheque), which skips the “Processing” status a template is set to trigger on
- Fix: The PDF was missing from the order email — generation ran at priority 20, after WooCommerce sends its transactional emails at priority 10, so the file did not exist yet when the email went out
- Fix: Manual regeneration always resent the “Processing” email, even on a completed order
- Fix: The euro sign printed as “?” on the generated card, along with œ, typographic apostrophes and dashes — text was encoded to ISO-8859-1, while FPDF standard fonts expect WinAnsi (CP1252)
- Fix: The price field printed the line total, excluding tax and multiplied by quantity — a 50 € card ordered twice showed “100,00 €”. It now prints the unit price including tax
- Fix: An empty recipient name no longer passes: the error notice did not actually block the add-to-cart, so cards could be generated without a recipient
- Improvement: Clear, actionable message when the uploaded PDF cannot be read (1.5+ object compression, password protection) instead of a raw library error
1.1.2 — 2026-08-05
- Fix: Templates could not be saved on MySQL servers (“Error while saving”) — the templates table was never created because a LONGTEXT column had a DEFAULT value, which MySQL rejects (error 1101). Only MariaDB 10.2.1+ accepted it.
- Fix: dbDelta() could never apply schema updates — “CREATE TABLE IF NOT EXISTS” prevented it from detecting the table name
- Improvement: The schema version is now only recorded once the tables really exist, so a failed installation is retried instead of being silently marked as up to date
- Improvement: Admin notice and detailed SQL error message when the plugin tables are missing
1.1.1 — 2026-06-04
- Fix: Templates and data are never deleted on plugin uninstall
- Fix: DB migration (maybe_upgrade) now correctly runs on plugin update
- Fix: Editor upload button was non-functional due to a script timing issue
- Fix: PDF preview not rendering (PDF.js IIFE wrapper — import.meta syntax)
- Fix: Special characters and emoji icons corrupted in editor field list
1.1.0 — 2026-06-03
- Security: PDF filenames now use a random 24-character token (no longer guessable)
- Security: Temporary QR code files are now properly deleted after PDF generation
- Improvement: Error notification email subject now uses the site name dynamically
- Improvement: Upgraded PDF.js from 3.11.174 to 5.7.284 (bundled locally)
- Improvement: Replaced deprecated PHP filesystem functions with WP_Filesystem equivalents
- Fix: PHP syntax errors caused by escaped variables in admin class
- Fix: Removed load_plugin_textdomain() — auto-loaded since WordPress 4.6
- Compatibility: Tested up to WordPress 7.0 and WooCommerce 9.6
1.0.0 — 2026-05-14
- Initial release