google-cloud-print-library

Provides a class for developers to use to print to a Google Cloud Printer. Provides an options page with configuration + testing.

All being well, once this is accepted, I will subsequently submit a plugin that uses this plugin (to despatch new WooCommerce orders automatically to Google Cloud Print – I am developing that for a takeaway restaurant).

Author:David Anderson (profile at wordpress.org)
WordPress version required:3.5
WordPress version tested:5.4.1
Plugin version:0.8.13
Added to WordPress repository:10-05-2013
Last updated:03-03-2020
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:100
Rated by:3
Plugin URI:https://wordpress.org/plugins/google-cloud-pr...
Total downloads:5 951
Active installs:100+
plugin download
Click to start download

NOTE: Google have announced the end-of-life of Google Cloud Print, at the end of December 2019; see: https://wordpress.org/support/topic/google-cloud-print-end-of-life

This plugin is mainly for programmers to use. It contains an options page to set up a connection to a Google account, and allows you to choose a Google Cloud Print printer from your account and to test printing to it.

The main use of this plugin is for developers of other plugins to deploy, and integrate with their plugins. For example, it has been integrated into this plugin that can send orders (invoices, delivery and packing notes) from a WooCommerce web shop automatically to Google Cloud Print.

To set up WordPress to have access to Google Cloud Print, you will need to follow this reasonably-simple tutorial: https://www.simbahosting.co.uk/s3/support/configuring-google-drive-api-access-for-cloud-print/

If you find it useful in your project, then please do consider a donation: https://david.dw-perspective.org.uk/donate

How can a developer use it?

Here’s some example code:

// Ensure that we can get a Google Cloud Print Library object

if (class_exists('GoogleCloudPrintLibrary_GCPL_v2')) {

    // The first parameter to print_document() is the printer ID. Use false to send to the default. You can use the get_printers() method to get a list of those available.

    $gcpl = new GoogleCloudPrintLibrary_GCPL_v2();

    $printed = $gcpl->print_document(false, get_bloginfo('name').' - test print', '<b>My HTML to print</b>');

    // Parse the results
    if (!isset($printed->success)) {
        trigger_error('Unknown response received from GoogleCloudPrintLibrary_GCPL->print_document()', E_USER_NOTICE);
    } elseif ($printed->success !== true) {
        trigger_error('GoogleCloudPrintLibrary_GCPL->print_document(): printing failed: '.$printed->message, E_USER_NOTICE);
    }

}

Please respect the plugin’s open-source MIT licence, which requires attribution.

License

Copyright 2013- David Anderson / Simba Hosting

MIT License:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

The authors of the DomPDF library (https://github.com/dompdf/dompdf) are gratefully acknowledged. The DomPDF library is used under the Lesser GNU Public Licence (LGPL, version 2.1).