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
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…
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…
Update May 2025: This blog post is no longer valid. PDF Ink has replaced WaterWoo and EDDiMark, and has an easier settings panel interface for adding barcodes more easily to PDF files. If you are or even if you are not using WooCommerce or Easy Digital Downloads but are still programming in PHP, it can be done using PDF Ink. The WaterWoo PDF Premium and EDDiMark PDF plugins can add barcodes and QR codes to PDFs dynamically upon download request via WooCommerce or Easy Digital Downloads. This is because both WordPress plugins use TCPDF to write PDF content, and TCPDF allows for barcode creation. Though this blog post might also be helpful for someone just trying to figure out how to write a barcode with TCPDF and PHP, these instructions are more geared toward a WordPress developer wishing to continue reading…
The SetaPDF library which PDF Stamper is built on allows quite a bit of font customization to be done. More on SetaPDF and font manipulations. For the meantime, a quick tutorial on how to get other fonts beyond the three packaged with the plugin (Times, Courier, and Helvetica). Start by finding a TrueType font (.ttf) file which suits your needs. Try to keep the file size small, subsetting if necessary so that your server isn’t bogged down managing a large font file while trying to manipulate your PDF. Upload the file to your wp-content/uploads directory, somewhere it won’t get overwritten. It makes sense to use the woostamper folder, so we’ve gone ahead and done that below. Arimo is a TrueType font which works for our purposes, so we have uploaded it to a folder “arimo.” Look at the function below continue reading…
More tips & tricks...