I need some help generating a PDF where the data on the page is WIDER than the page itself. This page is a report that could have a few or 30+ columns of data in it, and our users are asking for a way to generate a PDF that puts all of the data in the report in a PDF.
However, all of the available PDF plugins cut the data off after the page width is reached, with no options for getting the cut-off columns printed on the PDF.
Click here for an example of one of these report pages.
How do we provide a print PDF button on the page that puts all of the data within the width of the PDF?
man, you have many columns, it is difficult to maintain quality of visualization of the data in a print. I strongly recommend you change the layout, leaving only the main columns or if not to take any formulate a group for each row, as in the example of the image.
You still have an alternative, you can set the layout of the print as landscape, the size of the paper as tabloid and adjust the scale to customized, in my tests on the scale of 70 you can already see everything, then you will have to mess with the javascript to open already configured this.
Thanks for reaching out and for sharing the example page — that helps a lot.
Bubble’s visual-to-PDF converters (including the Bubble Page to PDF Converter) capture the page exactly as rendered.
So when the content is wider than the viewport, the PDF engine naturally cuts off anything past the page width, since it can’t dynamically “scale” or auto-fit wide tables into the PDF frame. Unfortunately, this is a known limitation of all screenshot-style PDF plugins.
For your use case, 30+ columns, dynamically generated, and needing to fit everything onto a PDF page - the best alternative is PDF Conjurer Pro:
This plugin generates true programmatic PDFs**, not screenshots of the page. That means:
You can build a table with as many columns as you want.
You can set custom scaling or column widths so the full table fits inside the PDF page width.
You can define page orientation (portrait/landscape) or even custom page sizes (A3, Legal, etc.) to accommodate wider reports.
You can generate the PDF entirely from data (lists, fields, API results), so nothing gets cut off.
This is the same approach used by reporting systems that export complex or oversized tables.
Before suggesting it as a solution, we’d love to understand your workflow a bit:
Are you okay with generating the PDF from data (not from a Bubble element)?
Does the report need to visually match what the user sees on the page, or are you open to a structured table layout inside the PDF?
Should columns auto-shrink to fit, or is a fixed-width PDF acceptable (e.g., A3 landscape)?
With those details, we can confirm the best setup and even outline how your table could be constructed with PDF Conjurer Pro.
yeah, bubble’s native pdf plugins aren’t great for super-wide tables. they’ll always clip anything that goes past the page width because they basically take a snapshot of the screen.
the only reliable way to handle wide reports is to generate the pdf on the backend instead of trying to print the visual element. the cleanest setup is to build an html version of your table inside a backend workflow, feed all your dynamic data into that html, and then send it to an external pdf generator like pdfmonkey, docraptor, or even an api that turns html into a pdf. those tools automatically shrink or reflow the content, and they don’t clip wide tables like bubble’s plugins do.
that way everything renders properly, even if there are 40 columns. it’s also way faster and way more consistent than trying to “print page” inside bubble.
if you want, i can tell you exactly how to structure the html and the api call so it works smoothly.
Thanks for this suggestion. I’d be okay with generating the PDF from data, but I admit that I don’t know how to do that right now but am willing to learn.
The report doesn’t need to visually match the page exactly, but it does need the company logo (or just the text of the comapny name works too), report name, date/time it was generated, header and columns, and a grid layout.
Everything (all columns) need to fit on the PDF page landscape. 8-1/2” x 11” pages seems to be what our users are wanting so they can print it easily.
@iamcharlesac I would appreciate it if you could tell me how to structure the html and the api call. Would you do that through this forum post or more 1:1?
We need to generate a landscape PDF US Letter size, with the company logo (or just company name in text), report name, and timestamp at the top. Then we need the column header row with a gray background, and the table of data ideally with the colored text and cell backgroun (if possible).
Thanks @vinimotta2013 , this is what we have been suggesting to our users so they can get “something”, but we get a lot of feedback that they are looking for a cleaner solution. I’ve received a couple other replies that we’re going to explore. Thanks again for responding!
If you need to stay with screenshot-based PDF plugins but want to fit more columns, you can reduce the font size of your table significantly before generating the PDF. This allows more data to fit within the page width.
Consider splitting the data into multiple PDFs - one for columns 1-15 and another for 16-30. You can then merge them using tools like PDF Merge plugins or external services.
For truly dynamic wide tables, using an HTML-to-PDF API service like PDFShift or DocRaptor through the API Connector gives you much more control. You can send raw HTML with CSS that forces proper scaling.
Another approach is to export to Excel/CSV instead of PDF when you have many columns. Users can then print from Excel where they have full control over page layout and scaling.
If using PDF Conjurer or similar tools, set the page format to A3 Landscape or even A2 for extremely wide reports. This gives you about 3x the horizontal space compared to Letter size.
The key is to accept that 30+ columns on a standard PDF page will either require very small fonts or a non-standard page size.
Everything you described should be achievable with PDF Conjurer Pro.
Since the plugin generates programmatic PDFs (not screenshots), you have full control over layout, colors, and sizing.
PDF from data
Yes, you can build the entire document from Bubble data: logo or company name, report title, timestamp, headers, and the grid itself.
8.5” × 11” landscape
Letter-size landscape is supported. You can also adjust margins and table width so all columns fit on the page.
Fit all columns (wide tables)
You can define column widths, font sizes, and scaling so even large tables (30+ columns) fit inside a single PDF page.
Colored text and colored cells
Fully supported. You can set:
Text color
Background color (per cell, row, or header)
Border color and thickness
If you’d like to explore this hands-on, here are useful resources:
Live Demo (interactive example):
Plugin Documentation:
You can test building a table and check if the result matches the workflow you have in mind.
I can guide you through it. The idea is to build the PDF completely from HTML in a backend workflow. You create a simple HTML template with a header section for the logo, report title, and timestamp, then a table with a styled header row and your data rows inserted dynamically. Inline CSS handles colors, backgrounds, spacing, and anything else you need.
After the HTML is assembled, you send it to a PDF service through an API call and set it to US Letter landscape. Those generators scale the full width automatically, so none of your columns get clipped. When the PDF comes back, you store it in Bubble or trigger a download.
If you want, I can help you put together the exact HTML structure.