Forum Documentation Showcase Pricing Learn more

PDF Conjurer (updated free plugin, now saving to database)

Just started using this and wanted to share something I discovered, long story short:

Wont work properly for me in Internet Edge unless “.pdf” is added to the end of the file name it’s being saved as.

Thanks for creating this, hard time wrapping head around how it works exactly but will get there!!!

is there any option to just print the current page as it looks when the button is pressed?

Thanks for the tip regarding Edge!

Not in a direct way and I have not tried to do it, but if you can capture the page into an image with something like this other plugin 💾 Elements/Groups to Image (Free Plugin), or some other custom coded way then you can simply insert that image into the PDF.

Yea that’s what I was thinking. But you’re right, it’s a plugin that you have to mess with to learn it. But with how quick it loads the PDF the trial and error only takes minutes.

Now time to figure out how to print off multiple pages. Using it for invoices, think that’s 90% of bubble users lol.

I’ve been using a repeating group that basically puts an entire page in one cell and pulls the information for the current cells invoice to populate it. Setting the cell height/width to equal about a page. This will make things a lot simpler.

1 Like

Hey Again,

Can you set your demo app so that each item and price is on a different page? Is there a way to set something to that effect?

I’m thinking about it, but I don’t really understand what you’re trying to accomplish, do you mind sharing more details? Can be via PM.

Awesome, thank you!!!

1 Like

Sorry, I can be bad with words lol. I’m gonna use your plugin to save invoices. Not sure how to get it to make multiple invoices in one PDF File. One day maybe only save one or two, next day save 20 to a file all using the same workflow.

At the moment, I have the invoice/s populate on a page and I print the page to PDF. I use a Repeating Group, that populates the invoices I have selected to save for the day and optimized the sizing to fit about 20 invoices before the centering becomes off and invoices start missing stuff.

No worries, we all do! :slight_smile:

And I imagine you want to make sure every invoice is on its own page right…?

That interesting case you proposed just sent me down a 4 hour rabbit hole to build that up!
I took it as a challenge and an opportunity to test if triggered custom workflows (not the scheduled ones!) work okay. And guess what… they do! Perfectly possible, apparently :smiley:

I had to make an update to the plugin, already pushed it, so make sure you have the latest version by selecting the plugin in your app’s plugin tab and then choosing the version 1.2.

Anyway, here it is:
PDF Conjurer alongside some Bubble wizardry to make a more complex usage!

Do check the edit mode to see how it all fits together.

Take a look at it. The main wizardry I did was to create the invoice as a custom, triggered workflow. Then to every invoice that exists in the list, it will be called once.

To make it more efficient, I stored the list of Invoices in a repeating group, thus avoiding several “do a search for…” each time an invoice is called. Sorcery #2.

Also pay attention to the fact that the image name must be unique, since it now accepts custom data, the only unique data I could dynamically pass was the own image’s URL. That’s required by the plugin to make it work in this case. Other cases may vary.

So to every invoice you want to allow into a single PDF you just paste the same workflow action “trigger xyz”. If you want to allow 20 invoices, paste it until you have 20 of that action, just remember to update the counting logic.

I’m not sure if this is exactly what you asked for, but at least will give you a direction.
Feel free to ask questions about this, hope it’s not confusing! :sweat_smile:


Hey @vini_brito

Firstly great plugin, takes a bit of tinkering to put together, but once the workflows are assembled it works a charm :+1:

Although the plugin is working for me in terms of, I click a button to generate the PDF from the workflows, but I’m seeing this error when the button is clicked and its raising an error on the Bubble debugger so thought I’d let you know (By the way I’m using the latest version 1.2.0):

The above is displayed after I click my button ‘Download as PDF’ which kicks off the workflows. After I click the ‘OK’ button from the browser alert, it then brings up the PDF to save.

Error from the Bubble debugger above:


Can you share with me a screenshot of your whole Create Table action? If there’s more than one, I’ll need to see them too, specifically how they’re configured. Can be a app view link via PM too.
Also, is the PDF coming out as you expect it to?

Sorry false alarm there. I think the issue was my web browser, quite odd. I had in the workflow for the button, ‘Create table on a PDF Model’ but decided to remove the action as I could use a multi column to accomplish. But it must of cached in my browser as even when removed it displayed the browser alert.

Anyhow all is displaying fine now thanks and PDF is rendering a treat.


Glad it’s working fine!
If anything comes up, I’m here.

1 Like

Thanks for a great plugin !

Have some problems regarding the Create table on PDF Model when all the columns are not filled with data.

My example:
Grab data from Repeating groups, store these in Custom states as Things and list of things where I again pull the data into Conjurer. It seems to me that if the first thing (row) does not have data in all the columns, the PDF generation fails. If the first one has data in all columns, but the succinct rows has some missing fields the gen passes with no problems.

This one fails :

This one passes:

Maybe/Hopefully I’ve just missed something in the docs and the solution is simple ??
Tried fiddling a bit in the column body query, but usually end up with true/false values :wink:


If you check the box to use a specific column then you must provide it with data, actually a list of text, number, date or something else that can be read as text or number.

For example, if eventually the seventh column pulls no data, the PDF generation will fail.
What is pulled must be a list (else Bubble’s editor issue checker will complain), but it can have just one entry and it will be good. Even a list with only a single empty entry will be fine.
It just cannot have nothing or something different from a list.

I don’t know about the details of the logic behind the app, but I can take a look at it if you share a view link or more details, specifically the error message shown by the plugin and a screenshot of the custom states that you use to hold the data to be passed to PDF Conjurer, maybe it’s there the solution.

Can be via private message if you want.

Thanks for your reply.

There is always data, but if I illustrate one of the fields as a list it could be something like this: ,2,3,4,5,6
I’ve noticed that it only produces an error when the value from the thing passed to the column is numeric and the first item in the list is blank/null. If the list is 1,3,4,5 it seems to pass.(supposed to be two commas , between 1 and 3)

A list of text values like ; ,b,c,d,e will pass and the cell in the pdf is generated but left blank.

Could it be because an empty string is passed as “” and a cell missing a numeric value is null ? Tried to set the default value of the numeric columns in database to have a default value of 0 and then it seems to work. But I would rather have them blank

Maybe I can convert the thing to a custom state where everything is a list of texts and it will work

Not in front of a computer right now so not able to share

Try updating to the last version, let’s see if that solves it. I pushed it a few days ago.
Here’s how to do it:

Go to your app’s plugin tab, click this plugin and then choose the last version on the versions dropdown.

Tried with the latest version, same result.

If I enter 0 in the field marked in red and leave the field below blank it passes. But if the first line is blank it fails (e is null)
If the data is entered like on the image below, it fails. But if I enter 0 in the field marked in red and leave the field below blank, it passes. But if the first line is blank it fails (e is null)

Anyway, I can bypass/manage it by setting the default value of my numeric fields to 0 in the db.
Processes lists of numbers with null values, as long as its not the first item in the list it seems like

Sidenote: also saw this error loading the plugin on previous versions

That’s weird. I tried to reproduce the bug on my end but it worked properly, what I did is to create a table and the first item of the table’s column be the value of an empty input (null).

Sent you a private message with the view link, see if it is the same case.

Hi @vini_brito,

I ran in to this error message. Any idea on how to fix this? I used chromes inspection tools but was unable to find anything. Also in the debugger no errors were found. I attached a screen shot.

Thank you!