PDF Generator Crowd API free WordPress plugin
Description
PDF Generator Crowd API free WordPress plugin
This plugin makes it very easy to create PDF’s on the fly. With a single shortcode it could create X amount of PDF’s “on the fly” / in realtime when
a user visits a specific page or post. It’s possible to create PDF’s from current page/post/acf-field(s) or from a specific given url. The plugin is available in swedish and english but could easily be translated into whatever language.
The generation itself is managed by connecting to PDF Crowd API so you will need to have an account
there to use this plugin. Every time the plugin is making a connection to the API a token is drawn. There is a free version of the API that has limited number
of tokens. From version 1.18 of this plugin it’s possible to connect to the API only when data changes in any page or post which makes a huge difference in number of tokens that are used.
Number of tokens drawn for each connection depends of the size of generated PDF(s) amongst some other parameters. It’s possible to use a page/post-template and
fetch data from ACF (Advanced Custom Fields) with this plugin.
Pricing for the PDF Crowd API service (and option to evalue the service) is shown here: http://pdfcrowd.com/pricing/ (Select option “HTML to PDF API” and make your choice). The PDF Crowd API service
is not created by the author so please have that in mind if you ask questions regarding the actual generation(s) of the PDF(s). The service is used by the
plugin because it was simply the best PDF generation software that was found (by the plugin author).
PDF Crowd states:
“Each API call makes a POST request to our servers. We do not disclose or keep copies of submitted data and generated files. They are kept only for the time necessary to efficiently process conversion requests and then permanently deleted.”
If you like the plugin, please consider donating.
Example of usage
shortcodes in post(s)/page(s)
[pdfcrowd_generate debug_mode=”no” create_downloadlink=”yes” out_files=”pdfcrowd;wibergsweb” overwrite_pdf=”no” convert_urls=”http://pdfcrowd.com/;http://wibergsweb.se/” link_titles=”PDF Crowd PDF Site;Wibergs Web site” html_class=”pdfdownloadlink”]
[pdfcrowd_generate debug_mode=”no” out_files=”pdfcrowd;wibergsweb” overwrite_pdf=”yes” convert_urls=”http://pdfcrowd.com/;http://wibergsweb.se/” link_titles=”PDF Crowd PDF Site;Wibergs Web site” html_class=”pdfdownloadlink”]
[pdfcrowd_generate debug_mode=”yes” use_ssl=”yes” out_files=”pdfcrowd;wibergsweb” convert_urls=”http://pdfcrowd.com/;http://wibergsweb.se/” link_titles=”PDF Crowd PDF Site;Wibergs Web site” html_class=”pdfdownloadlink”]
[pdfcrowd_generate debug_mode=”yes” create_downloadlink=”yes” out_files=”invoice” overwrite_pdf=”datachange” data_fields=”acf_surname;acf_lastname” data_acfkeys=”field_5859b22623ca5;field_5859b260bb104″ link_titles=”PDFmaster” convert_urls=”{681}” data_postid=”all” pagebreak_afterpost=”yes” last_shortcode=”no”]
If using ACF (Advanced Custom Fields)
convert_urls=”{100}” means grab url from page/post with id 100. In cases below it could be a page template (with id 100):
[pdfcrowd_generate last_shortcode=”no” debug_mode=”no” autosum_fields=”yes” targetblank=”yes” create_downloadlink=”yes” out_files=”invoice” overwrite_pdf=”datachange” convert_urls=”{100}” data_postid=”all” data_cpt=”customer” data_fields=”acf_customer_phone;acf_customer_name;acf_customer_trailers” data_acfkeys=”field_285b0870afcf6;field_285b064d43bec;field_585b0b3288d6e” link_titles=”Invoices”]
[pdfcrowd_generate last_shortcode=”no” debug_mode=”no” autosum_fields=”yes” targetblank=”yes” create_downloadlink=”yes” out_files=”invoice” overwrite_pdf=”datachange” convert_urls=”{100}” data_postid=”all” data_cpt=”customer” data_fields=”acf_customer_phone;acf_customer_name;acf_customer_trailers” data_acfkeys=”field_285b0870afcf6;field_285b064d43bec;field_585b0b3288d6e” link_titles=”Invoices” add_related_fields=”1;Model of car;acf_customer_cars_reg;acf_cars_model”]
[pdfcrowd_generate last_shortcode=”no” debug_mode=”no” autosum_fields=”yes” targetblank=”yes” create_downloadlink=”yes” out_files=”invoice” overwrite_pdf=”datachange” convert_urls=”{100}” data_postid=”55″ data_cpt=”customer” data_fields=”acf_customer_phone;acf_customer_name;acf_customer_trailers” data_acfkeys=”field_285b0870afcf6;field_285b064d43bec;field_585b0b3288d6e” link_titles=”Invoices” add_related_fields=”1;Model of car;acf_customer_cars_reg;acf_cars_model”]
Page template could look something like this
Invoice
[title]
Phonenumber:: [acf_customer_phone]
Cars
[acf_customer_cars]
Net:
[crowdpdf-total=field_585b0b3288d2e]
Vat:
[crowdpdf-totalvat=field_585b0b3288d2e]
Gross:
[crowdpdf-totalaftervat=field_585b0b3288d2e]
Explanation of the shortcode
[pdfcrowd_generate last_shortcode=”yes” debug_mode=”no” autosum_fields=”yes” targetblank=”yes” create_downloadlink=”yes” out_files=”invoice” overwrite_pdf=”datachange” convert_urls=”{100}” data_postid=”55″ data_cpt=”customer” data_fields=”acf_customer_phone;acf_customer_name;acf_customer_trailers” data_acfkeys=”field_285b0870afcf6;field_285b064d43bec;field_585b0b3288d6e” link_titles=”Invoice” add_related_fields=”1;Model of car;acf_customer_cars_reg;acf_cars_model”]
It’s only one shortcode on the page, so it’s the last
No debugmode
Tell plugin to autosum specific fields
Create downloadable link
Open newly created download pdf in new tab/window
Create a file called invoice
Only generate new pdf/connect to PDF Crowd server when data has been changed
Use page with id 100 as a template page
Grab data from post type customer
Grab data from customer with id 55
Use datafields called acf_customer_phone (with key field_285b0870afcf6), acf_customer_name (with keyfield_285b064d43bec) and acf_customer_cars (acf_customer_cars is a repeater-field with keyfield field_585b0b3288d6e)
Use Invoice as title on the download link
acf_customer_cars is a repeater field with these subfields (Name, color)
A new column is added in the repeater field in the PDF (but not in the admin) with the titlte “Model of car” at the second position in the index (1) and fetches the actual carmodel from related model of the car
[title] – shows the actual
field_585b0b3288d2e is the keyfield of the ACF that is being autosummarized (in the repeater field)
Start with setting debug_mode to yes when creating your attributes. It might be more helpful than you think! Happy generating!