/wc-cart-pdf

Download WooCommerce cart as PDF

Primary LanguagePHP

=== WooCommerce Cart PDF ===
Contributors: dkjensen, seattlewebco
Tested up to: 5.6.2
Requires PHP: 5.6.0
Stable tag: 2.1.2

Adds ability for users and guests to download their WooCommerce cart as PDF

== Description ==
Adds ability for users and guests to download their WooCommerce cart as PDF

Useful for many cases such as if a user needs a quote before completing purchase

== Installation ==
1. Upload plugin and then activate
2. Ensure WooCommerce is installed and activated as well

== Changelog ==
2.1.2
* Add compatibility with Gravity PDF plugin

2.1.1
* Send admin email as HTML

2.1.0
* Ability to send an emailed copy of generated PDF to admin
* Add date to PDF
* Add customer details to PDF

2.0.6
* Update compatibility tag
* Two new hooks to modify PDF output

2.0.5
* WordPress 5.4 compatibility
* Add support for coupons displaying on PDF
* Add minimum PHP requirements admin notice and prevent loading if not satisfied
* Minor styling update to PDF

2.0.4
* Added compatibility with Visual Products Configurator
* Perform WC cart calculate_totals() method prior to generating PDF
* Added customizer setting to modify download cart as PDF button label

2.0.3
* Fix composer dependencies

2.0.2
* Update compatibility

2.0.1
* Fix product thumbnails too large

2.0.0
* Change PDF library from Dompdf to mPDF
* Add support for RTL languages

1.0.5
* Fix CSS for language support
* Default font to Noto Sans for language support
* Update Dompdf

1.0.4
* Add PDF template actions hooks `wc_cart_pdf_before_template` and `wc_cart_pdf_after_template`

1.0.3
* Add customizer option to change PDF header logo, width and alignment
* Adjustments to default widths and styling of PDF cart table
* Bug fix: Expand {site_title} variable placeholder in PDF footer text

1.0.2
* Tested up to WordPress 5.1
* Add `wc_cart_pdf_stream_options` filter for stream options

1.0.1
* Add compatibility with TM Extra Product Options
* Add ability to override PDF template and CSS through the theme folder woocommerce/wc-cart-pdf/
* Add filter to change PDF filename
* Add shipping and taxes to PDF
* Add WooCommerce error notice if nonce is invalid
* Add action hook before PDF is generated

1.0.0
* Initial plugin release

== Upgrade Notice ==
2.0.0
* PDF generation library changed from Dompdf to mPDF
* Requires PHP >= 5.6.0

== Frequently Asked Questions ==
= How to view or open PDF instead of download? =

Add the following code snippet to your themes functions.php:

    function child_theme_wc_cart_pdf_destination( $dest ) {
        if ( class_exists( '\Mpdf\Output\Destination' ) ) {
            $dest = \Mpdf\Output\Destination::INLINE;
        }

        return $dest;
    }
    add_filter( 'wc_cart_pdf_destination', 'child_theme_wc_cart_pdf_destination' );

= How to require user to be logged in to download cart as PDF? =

Add the following code snippet to your themes functions.php:

    /**
    * Remove the default download cart button
    */
    remove_action( 'woocommerce_proceed_to_checkout', 'wc_cart_pdf_button', 21 );


    /**
    * Replace the default download cart button with our own logic to display a login notice for guests
    */
    function child_theme_wc_cart_pdf_button() {
        if( ! is_cart() || WC()->cart->is_empty() ) {
            return;
        }

        if ( is_user_logged_in() ) :
        ?>

        <a href="<?php echo esc_url( wp_nonce_url( add_query_arg( array( 'cart-pdf' => '1' ), wc_get_cart_url() ), 'cart-pdf' ) );?>" class="cart-pdf-button button" target="_blank">
            <?php esc_html_e( 'Download Cart as PDF', 'wc-cart-pdf' ); ?>
        </a>

        <?php else : ?>

        <p><a href="<?php echo get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ); ?>" class="cart-pdf-login"><?php esc_html_e( 'Please login to download your cart as a PDF', 'wc-cart-pdf' ); ?></a></p>

        <?php 
        endif;
    }
    add_action( 'woocommerce_proceed_to_checkout', 'child_theme_wc_cart_pdf_button', 21 );