## TL;DR
A blank PDF almost always means the browser rendered nothing, not that the data is gone. First test: export from a different browser, or a private window with extensions off. If the PDF fills in, it is a local rendering problem (print styles, a blocker, a killed pop-up). If it stays blank everywhere, the source view itself is empty and you troubleshoot the data, not the export.

## The query

```text
"export to PDF is blank" common fixes
```

## Use this when

- A user says their PDF downloaded but every page is blank
- You need to tell blank-source apart from blank-rendering
- Export tickets keep coming back as "works on my machine"
- You are writing a macro for PDF export complaints

## Not for

- PDFs that download corrupted and wont open at all
- PDFs with the wrong data or missing pages
- Designing print layouts or page breaks
- Server-side PDF generation failures with error codes

## Steps

### 1. Check whether the source view has content

Open the same report or page the user exported from, in your own session. If the on-screen view is also empty, the export is fine and the data query is the problem. Dont touch export settings until the screen shows data.

Expected output: a clear call, empty source or empty render.

### 2. Run the browser-swap test

Ask the user to export once from a different browser, or the same browser in a private window with extensions off. This one test resolves most tickets: ad and script blockers silently strip the content the PDF renderer needs.

Expected output: the PDF either fills in (local issue) or stays blank (product issue).

### 3. Check print styles and hidden content

Many apps build PDFs through the browser print pipeline, which uses print stylesheets. Anything hidden for print never makes it into the PDF. Ask: does Print Preview show the same blank result? If yes, it is a print-styles problem for engineering, with a clean repro.

Expected output: Print Preview matches the PDF, confirming a rendering-layer cause.

### 4. Look for blocked pop-ups and partial loads

Some exports open the PDF in a new tab that a pop-up blocker kills, which looks like a blank document. Also check the user didnt export before the page finished loading, charts and lazy-loaded sections render as empty boxes.

Expected output: pop-up allowed and page fully loaded before export, or a confirmed blocker.

### 5. Verify page size and margins didnt swallow content

Content pushed off-page by extreme margins or a mismatched paper size can produce pages that look blank. Have the user try default paper size and default margins once.

Expected output: content appears with default page settings, or settings ruled out.

## Ready-to-use reply

```text
Blank PDFs are usually a browser rendering thing, not lost data. Quick
test: can you try the export once in a private window (extensions off)?
If the PDF fills in there, a blocker or extension is stripping the
content, and we can narrow it down. If it is still blank, tell me and
I will dig into the report itself.
```

## Variant phrasings

### pdf export comes out empty

Same five steps. Empty and blank are the same ticket type, file them together.

### blank page when printing to pdf from the browser

Steps 3 and 4. Browser print-to-PDF and in-app export share the same rendering path.

### exported pdf has no content

Step 1 first. No content usually means the source query returned nothing.

## Why it happens

PDF export usually re-renders the page through the browser print pipeline. Anything that changes that render, print stylesheets hiding sections, blockers stripping scripts, pop-ups killed mid-render, shows up as a blank PDF even though the data is fine. That is why the browser-swap test is diagnostic: it separates the renderer from the data in one move.

## Edge cases

- Scheduled or emailed PDFs are blank too: the renderer runs headless on the server, so browser tests dont apply. Escalate with a sample file.
- Only charts are blank: lazy-loaded visuals often miss the render window. Note which widgets are empty.
- Blank for one user, fine for others: check that user's data permissions. An empty permission set renders as an empty report.
- Huge exports time out into partial blanks: check file size and page count against the export limits.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_RDI7D_WnLCUseg89Vhom3Q
