Selectpdf plugin: add minimum load time to allow all content to be loaded

I have a page with potentially a lot of images that needs to be printed with the selectPDF service. However, it does not wait until all the content has been loading, so I get only part of the content shown in the pdf.

They have an option to set the min_load_time:

Could this be exposed in the Bubble plugin? Then I can set the value according to how much content is being rendered. (Not the optimal solution - but I think it would work OK for us).

@emmanuel, I know you just added another option to the plugin, so I hope it will not be too much work. It would really make the difference between being able to use this integration or not…

1 Like

We’re already do this for 5 seconds, and added some protections to wait as much as we can tell we need to wait.

The best approach here is to create a thing and have most of the data in the page thing, instead of doing some searches.

I already have the data in a page thing. On the page, there are a lot of images that need to load, and they are stored as a list of images on the page thing. But it still doesn’t work well. I have sent a PM with details on how to reproduce.

@emmanuel I have the same issue. I have to create a sticker sheet with QR codes which are stored in the sticker thing as images. I already cut up all the stickers into 4 different pages but the printing is very unreliable. Over 4 pages, the QR codes don’t load fast enough but just scanning the sticker sheets randomly I notice some images missing too.

Adding the option of setting a min load time manually should fix this. Since this is the only pdf creator option at the moment and we already commit to paying $20 a month for the service, it would be great if this could be exposed on the bubble side!

Thanks a lot!

@soeren & @vincent56

Not sure if it fixes this specific problem but https://cloudconvert.com/ has a web->pdf option, a free daily quota and I’ve got it working pretty easily with the API Connector.

Thanks Andrew for the pointer to this service. Emmanuel just wrote to me that SelectPDF is unreliable and Bubble doesn’t want to put more effort into improving this plugin. So basically my next option is to use the API Connector to some other service. I will give it a try and post my lessons learned back.

yeah same here, I will look into cloudconvert too. Bummer though, lot of work to migrate :frowning:

@soeren @vincent56

Cool, the API documentation of the CC website is little messy, but I guessed my way through in the end. If you have any problems with it, give me a shout and I’ll try to help.

I was going to publish it as a plugin for everyone, but I never got around to tidying up the API calls.

If you can send a screen shot of the connector set-up and an action, it would be awesome!

How did you return the output url inside of Bubble? Working great in postman, having to think through the Bubble flow…

I had the same issue but I remember getting it work. I’ll dig out some screenshots for you both in a couple of hours.

I remember the stumbling block being what to do once I had the unique download link from CC. I don’t remember if I ever worked out how to (or if it’s possible) to get Bubble to download a file from an external URL and save to S3 - I remember not trying to hard to find a solution though as the PDF requirement got dropped from the project in the end.

Im actually stuck at the same point @AliFarahat was:

It looks like a lot of manual steps for each print. I might want to look for someone to create a plugin :smiley:

Sorry, what? @emmanuel just told you that? I thought this was their solution. So I guess now we´ll have to find another way.

Right everyone…

Here’s the first call to get the conversion token/URL you need:

One of the things it will return is a unique URL which is what you need to call next to start the conversion:

So in your workflow, take the returned URL and feed it into this next call as the ‘hosturl’

‘file’ should be the URL of the page you need to convert to PDF
‘callback’ is the endpoint CC will ping once the conversion is completed/failed
‘save’ - yes if you want to save file to CC account, otherwise, you need to download immediately
‘wait’ - can’t remember exactly, but it didn’t work if this wasn’t set to true

Finally, once the conversion is complete, CC will ping that callback endpoint with some other data, and most importantly, a direct download link to the file.

I never got round to it, but I guess you could create an API workflow that captures that direct download link and does something with it. What I do know is that the download link is only active for about 24 hours, so best grab it and save it somewhere.

Hope that helps!

2 Likes

Apparently it works great for smaller and simpler pages like invoices etc. But not for more demanding pages.

1 Like

It works well the only problem it has is that it takes a lot to print the PDF but I think the Bubble team are working on something to make it faster.

you guys are awesome!

1 Like

That´s awesome!

But does it really works? I´ve just tried exporting an invoice to PDF reducing the min_load_time from 5 seconds to 2 seconds and I´m always getting the same time when exporting it. I´ve checked and it takes about 11 seconds always to export the PDF whether you reduce or increment this min_load_time.

Check the editor: https://bubble.io/page?type=page&name=download_invoice&id=mynewtestapp&tab=tabs-2
Check preview to test: https://mynewtestapp.bubbleapps.io/version-test/download_invoice?debug_mode=true

Is it properly working @emmanuel ?

Thanks a lot.

Bests.

It works for me. But i need to increase the time in order to make sure all images are loaded on the page. increased to 10 seconds and it seemed enough.

I will now have to combine all four print pages into one again and try again, finding the optimum load time.

I´ve tried several times but reducing the time does not make any difference for me.

I´ve reduced to 2 seconds and I get about 11 seconds to print in PDF all the time.