WooCommerce Plugins

Little Package makes WordPress plugins that support manipulation of pre-existing PDFs using PHP libraries from TCPDF (good) and SetaSign SetaPDF-Stamper (best). Password-protect, encrypt, and restrict PDF viewing permissions. Even more exciting, mark/stamp PDFs with dynamic data collected from your users, such as their name, email address, and a lot more!

PDF Stamper for WooCommerce (WooStamper)

Connect WooCommerce to the powerful SetaPDF-Stamper stamping library by Setasign for PDF watermarking , encryption, and password/permissions protections. Works with all PDFs, even those with internal links, forms and layers.

Learn More

WaterWoo PDF Premium

Protect and customize WooCommerce PDFs with a text or image watermark, and/or a password, optionally customized with customer-provided details. Uses the open-source TCPDF library. Works on most PDFs without internal links, forms, or layers.

Learn More

Plugin News, Tips & Tricks...

Invisible Watermarks and Other Ways to Protect Your PDFs

PDFs are a fantastic way to share documents – they preserve formatting, are widely compatible, and can even be compressed for easy transmission. But what if that PDF contains sensitive or monetized information? The Portable Document Format (PDF) offers some security, which when stacked can be quite effective. These include: Watermarks. Adding content to a PDF, especially content customized to the end-user (such as their name and other personally-identifying information like phone/email, can not only personalize a PDF, but also thwart unauthorized sharing. Keep reading to find out how to make your watermarks most effective against PDF theft. Encryption. Arcfour RC4, and the superior 128-bit key or 256-bit AES encryption Passwording. User and owner passwords can be set. An owner password gives the holder full control over the PDF, including the ability to remove passwording entirely — share with caution! continue reading…

Accessible PDF Stamping

Many people and organizations put the extra care into their PDF documents to ensure they are usable by ALL humans, not just people with good vision and keyboard/mouse dexterity. What does this mean? It is often imperative documents be accessible due to accessibility codes and laws. So it must be very frustrating to have accessibility features removed by a PDF manipulation plugin! Unfortunately, the open-source PDF manipulation libraries I use for many of my plugins does not allow for robust or reliable PDF manipulation. Namely, TCPDI/TCPDF depends on being fed a syntactically correct PDF, and then because of the way objects are read flat into PHP memory during the process, certain PDF features in the stream are necessarily lost. Marking/passwording with TCPDI/TCPDF or FPDI/FPDF is lossy, no way around it. However, the SetaPDF library from SetaSign works differently by parsing continue reading…

Where are the WordPress.org free plugins?

I’m getting too many emails about this to answer them all, sorry. Hopefully I can answer you here. I write and maintain WordPress plugins for a living. For ~8 years I have also provided and supported free plugins on the side. I provide two plugins in the free (open-source) WordPress.org plugin repository, both of which are well-loved and rated. As you may have noticed, they were abruptly removed by WordPress on January 24th. It was a surprise to me, too! Frankly I have been feeling burned out on supporting free software, so maybe this is a chance for me to at least say my piece. One has to think abstractly for it to feel rewarding, as in “I know people aren’t saying anything, but I imagine these plugins make the world better and peoples’ days easier.” I also feel like continue reading…

Creating your Own Watermarking Shortcodes for WooCommerce

You can add your own shortcodes to WaterWoo PDF Premium for on-the-fly customized watermarks. In this simple example we are going to create a shortcode to reflect a customer’s order total (price) in the watermark, when using a shortcode: [TOTAL_PRICE] function fetch_woo_order_data_as_shortcode( $input, $order_id, $product_id ) { // first we need to get the order object from the order id // you can get a lot of info from the order object ( $order in this case) $order = wc_get_order( $order_id ); // now let’s get the order data from the order object $order_data = $order->get_data(); $order_total = $order_data[‘total’]; // BINGO! // there is a ton of other data you can get from the WC order object data, check out // https://stackoverflow.com/questions/39401393/how-to-get-woocommerce-order-details // and substitute in what you need into the code that follows below // if there isn’t a continue reading…

More tips & tricks...