Bubble Page to PDF - New Plugin from Zeroqode

I ran into this same issue. I have even seen text clip mid-line. I also saw that adding page breaks one time made the rest of it need them (it seemed, I only tried it 1x then took it out - but am being requested to add more detail here). Would be interested to hear more about page breaks in general. For example - could it force groups to stay together rather than set specific breaks? My reports vary from 1 page to 4-5 pages long.

@ZeroqodeSupport I’m having trouble adjusting down the font size in the footer. Included code but the font size gets ignored. I figure my CSS is rusty or something is off…
Is there a suggested method for that?

<p style="margin-left:20px; font-size: 12px !important;">
    Copyright 2023 Business Name

Hello @blake1
Thanks for reaching out!

You can use the “custom format” field and specify the width/height of the invoice.


Screenshot 2023-08-16 at 17.16.15

Please do not forget to enable the “calculate scale from custom format” field. :pray:

Best regards,
Zeroqode Support Team

Hi @nocode123,

Could you please try to use the following format? :pray:


<p style="text-align: right; width: 150mm; font-size:12px;font-family: 'Open Sans' ">TEXT</p>


Hope this helps!

Best regards,
Zeroqode Support Team

Thanks, I was able to get it working using font-size:6px;
I guess 12px in header/footer is just not interpreted the same way as text in the pages layout.

Running into a page break issue that is pretty rough… It is clipping the item midline. It is in a repeating group so it would be hard to figure out where the break will happen. Any workarounds?

Hi @nocode123,

Yes, it may be challenging for the plugin to have accurate page breakpoints since it’s pretty unpredictable. One option is to break the document into pages, either by dividing the content into separate cells or by allowing the plugin to automatically break the repeating group content based on page size. This may result in some cells being cut off, similar to the example you provided.

Alternatively, you can use multiple fixed repeating groups and specify their IDs in the “page break if” field. This will ensure that each repeating group appears on a different page.

Another possibility is to experiment with the header/footer values of the generated PDF action. By adjusting these values, you may be able to manipulate the plugin to “push” the cell content to another page, preventing it from being cut off at undesired places. However, please note that this workaround may not be 100% effective.

Sorry for not being able to help with this. Please let us know if you have any further questions. :pray:

Best regards,
Zeroqode Support Team

1 Like

Just had an odd, seemingly random glitch show up… somehow it seems a PDF that just downloaded was rendered in landscape instead of portrait orientation.

  • No changes had been published anytime around this event.
  • As well the report was never configured to be setup this way aside from during initial testing last week when being setup.
  • I have tested it countless times and not seen this

Has this issue ever come up before?

Also, the footer thing is a really tough one to work around. I have a page where the repeating group will span 2-3 pages or at times, maybe around 10 or more. I am not sure how I would break that apart to put a pagebreak ID every lets say 20 records after the inital 15 that show up on the first page (it has meta info that pushes a few lines down).

Hi @nocode123,
Apologies for the late reply due to the weekend. :pray:

Unfortunately, the issue you reported is not reproducing on our side. Could you please share screenshots/screencast of your setup?

Also, can you please try to disable the “calculate scale from custom format” field, if you are not using a custom format?

I’m afraid the best option is to convert the RG without any page breaks because the behaviour of the plugin in this use case would be pretty unpredictable. You can indicate the width and length of the repeating group in the custom format field so the plugin will generate a PDF without any page break (it will be one page).

Looking forward to your reply.

Best regards,
Zeroqode Support Team

Going to try this if it happens again. So far it only happened one time.

This may not work that well, as they want it to be formatted for print. I guess I can manually break this into groups that fit into pages, make different repeating groups and set the IDs for page breaks as they fit. Thank you for offering suggestions.

Working on something new today - Is there a way to easily reference the output file name when Upload File to AWS is checked? I am generating a contract that I want to send a copy of once accepted via email. Have the PDF rendering properly. However not sure how to effectively build the URL to place in the send email > attach file field.

I started by creating the file name in a custom state. Then I am referencing the state in the ConverttoPDFv2 action. Wasn’t sure how to ensure the file name is unique and then how to reference it to attach it. For now, I am using the users uniqueID as part of the filename to try for unique file names.

Hello @nocode123,
Thanks for your message. :slightly_smiling_face:

First of all, we would like to note that the result of the plugin work is a URL to the converted file, not a file itself. Thus, the mail attachment cannot load in the Gmail thumbnail, unfortunately. In your case, you can send a PDF file name and URL using the following expression:


Hope this helps! Please let us know if you have any further questions.

Best regards,
Zeroqode Support Team

1 Like

Thanks again for the outstanding support of your plugin!

I was not aware how to grab the file name after PDF generation.
This is going to be very useful!

The method of generating a download link seems better than my initial idea of attaching a file to the email (which I think I could do with this string anyways). However this is an initial email to the user from a new address and including an attachment in that is almost certainly going to get filtered. May also not directly link to file but give them a link to click that would verify their email + download the file as well. Going to look into that next step once I get the initial solutions in place.

Edit - After reviewing the solution I have a consideration that I was not aware of prior. Saving all the docs to filesystem in this manner also makes them downloadable via a url. From a data security standpoint - essentially public.

Is there a way to shift these to only be accessible to one user at a time. I was reading the docs on the bubble file uploader, which offers a way. I was not sure how this would factor in given the file is created on the server already. Also, I am considering saving the file into the user database as a file type. Would that be possible?


Hi @nocode123,

Since the result of the plugin work is a URL to the converted file, not a file itself, you should create a data type “text” in your app data. However, in order to create a new pdf URL in the user data type, you still would need to upload the file to AWS first.

Here’s a suggested approach for your use case:

  1. Create a new data type in your app’s database. Name it something like “PDF URL.”
  2. When a PDF is generated, you would first upload it to the Bubble file manager. Once the upload to AWS is complete, you can proceed.
  3. After the upload is completed, create a new entry in the “PDF URL” data type, and store the generated URL as a text field in this entry. This step ensures you have a record of the PDF URL for future use.
  4. As a final step, you can delete the uploaded PDF file from the Bubble file manager. Screenshot by Lightshot

Please let us know if that works for you. :slightly_smiling_face:

Best regards,
Zeroqode Support Team

hi @ZeroqodeSupport
I couldn’t find the answer using the search feature. Is there a way we can compress the pdfs before prompting the download? My PDFs weight something like 100Mo. When I use an online compressor, I can get the pdfs for something around 5Mo instead.

Hi @reallyreallywant.app

Thank you for reaching out to us.

At this moment in time, this plugin does not have a Compress PDF functionality. As a suggestion, you can find a plugin on Bubble that compresses PDF files and integrate it on your page.

Apologies for not being able to help more.

Have an amazing day :hugs:

Thank you. But I’d need something to compress before your plugin prompt the user to download the PDF

When the “ConvertortoPDFv2.0 A Converting is finished” event fires you need to feed that into another plugin/API call to compress it, then once you get the new compressed file delete the old one and save the new one in your database


Hello everyone,

@tylerboodman We appreciate your suggestion. Thank you <3

@reallyreallywant.app Please give it a try on your side and inform us how it worked out :slight_smile:

If you encounter any plugin related issues, you can always contact us here or at [email protected] and we will be more than happy to assist you.

Have an amazing day :hugs:

1 Like

Hello @ZeroqodeSupport
I couldn’t find any free good compressor. Could you recommend one?

Hello @reallyreallywant.app,

There are several plugins available in the marketplace for compressing PDF files. We suggest using the Compress JPG&PDF plugin for Bubble, developed by AYAANS. It’s a free and user-friendly plugin with just three actions to choose from.

We hope this recommendation proves useful.

Wishing you a fantastic day ahead! :hugs:

1 Like

hello @ZeroqodeSupport
The plugin is free but the service isn’t.

Hello @reallyreallywant.app,

You’re welcome to choose any services that best suit your needs.

Wishing you a fantastic day ahead! :blush:

1 Like