GitHub user dosubot[bot] added a comment to the discussion: Image is blank during pdf export in Superset UI
<!-- Greeting --> Hi @vikraman22! I'm [Dosu](https://go.dosu.dev/dosubot) and Iām helping the superset team. <!-- Answer --> This is a known issue with how Superset handles images during PDF export. When you mention "static images," I assume you're referring to embedded images in Markdown components or similar elements. Here are the likely causes and solutions: **Most Likely Cause: Canvas-Based Content Cloning Issue** There was a [bug where Canvas elements lose their pixel data when cloned during export](https://github.com/apache/superset/pull/35491). This was fixed in October 2025 (PR #35491). If you're on an older version, upgrading should resolve this. **If Your Images Are External/Embedded:** Check if your images are loaded from external domains. The [`connect-src` CSP directive controls image loading during PDF export](https://github.com/apache/superset/issues/36268) ā you may need to configure Talisman to allow those domains. **Try Server-Side Rasterized Export:** Enable server-side screenshot capture with Playwright, which is more reliable for capturing all visual content: ```python FEATURE_FLAGS = { "THUMBNAILS": True, "ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS": True, "ENABLE_DASHBOARD_DOWNLOAD_WEBDRIVER_SCREENSHOT": True, "PLAYWRIGHT_REPORTS_AND_THUMBNAILS": True, } ``` This requires Celery and Redis to be configured. **Timing Issues:** If images take time to load, increase the [screenshot wait times in your config](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/config.py#L754-L763): ```python SCREENSHOT_SELENIUM_HEADSTART = 5 SCREENSHOT_SELENIUM_ANIMATION_WAIT = 10 ``` Note: `DASHBOARD_VIRTUALIZATION` affects frontend rendering but doesn't directly impact PDF export since PDFs are generated via webdriver screenshots in standalone mode. Could you share what type of static images you're using (Markdown components, external URLs, etc.) and which Superset version you're running? That would help narrow down the solution. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/1ffe31f4-48b7-4f30-942f-a44c61515493?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/1ffe31f4-48b7-4f30-942f-a44c61515493?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/1ffe31f4-48b7-4f30-942f-a44c61515493?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/1ffe31f4-48b7-4f30-942f-a44c61515493?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/1ffe31f4-48b7-4f30-942f-a44c61515493?feedback_type=hallucination) | [Report š](https://app.dosu.dev/response-feedback/1ffe31f4-48b7-4f30-942f-a44c61515493?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/1ffe31f4-48b7-4f30-942f-a44c61515493?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github) [](https://cursor.com/link/prompt?text=This%20is%20a%20known%20issue%20with%20how%20Superset%20handles%20images%20during%20PDF%20export.%20When%20you%20mention%20%22static%20images%2C%22%20I%20assume%20you%27re%20referring%20to%20embedded%20images%20in%20Markdown%20components%20or%20similar%20elements.%20Here%20are%20the%20likely%20causes%20and%20solutions%3A%0A%0A%2A%2AMost%20Likely%20Cause%3A%20Canvas-Based%20Content%20Cloning%20Issue%2A%2A%0AThere%20was%20a%20%5Bbug%20where%20Canvas%20elements%20lose%20their%20pixel%20data%20when%20cloned%20during%20export%5D%28https%3A//github.com/apache/superset/pull/35491%29.%20This%20was%20fixed%20in%20October%202025%20%28PR%20%2335491%29.%20If%20you%27re%20on%20an%20older%20version%2C%20upgrading%20should%20resolve%20this.%0A%0A%2A%2AIf%20Your%20Im ages%20Are%20External/Embedded%3A%2A%2A%0ACheck%20if%20your%20images%20are%20loaded%20from%20external%20domains.%20The%20%5B%60connect-src%60%20CSP%20directive%20controls%20image%20loading%20during%20PDF%20export%5D%28https%3A//github.com/apache/superset/issues/36268%29%20%E2%80%94%20you%20may%20need%20to%20configure%20Talisman%20to%20allow%20those%20domains.%0A%0A%2A%2ATry%20Server-Side%20Rasterized%20Export%3A%2A%2A%0AEnable%20server-side%20screenshot%20capture%20with%20Playwright%2C%20which%20is%20more%20reliable%20for%20capturing%20all%20visual%20content%3A%0A%0A%60%60%60python%0AFEATURE_FLAGS%20%3D%20%7B%0A%20%20%20%20%22THUMBNAILS%22%3A%20True%2C%0A%20%20%20%20%22ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS%22%3A%20True%2C%0A%20%20%20%20%22ENABLE_DASHBOARD_DOWNLOAD_WEBDRIVER_SCREENSHOT%22%3A%20True%2C%0A%20%20%20%20%22PLAYWRIGHT_REPORTS_AND_THUMBNAILS%22%3A%20True%2C%0A%7D%0A%60%60%60%0A%0AThis%20requires%20Celery%20and%20Redis%20to%20be%20configured.%0A%0A%2A%2ATiming%20Issues%3A%2A %2A%0AIf%20images%20take%20time%20to%20load%2C%20increase%20the%20%5Bscreenshot%20wait%20times%20in%20your%20config%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/config.py%23L754-L763%29%3A%0A%60%60%60python%0ASCREENSHOT_SELENIUM_HEADSTART%20%3D%205%0ASCREENSHOT_SELENIUM_ANIMATION_WAIT%20%3D%2010%0A%60%60%60%0A%0ANote%3A%20%60DASHBOARD_VIRTUALIZATION%60%20affects%20frontend%20rendering%20but%20doesn%27t%20directly%20impact%20PDF%20export%20since%20PDFs%20are%20generated%20via%20webdriver%20screenshots%20in%20standalone%20mode.%0A%0ACould%20you%20share%20what%20type%20of%20static%20images%20you%27re%20using%20%28Markdown%20components%2C%20external%20URLs%2C%20etc.%29%20and%20which%20Superset%20version%20you%27re%20running%3F%20That%20would%20help%20narrow%20down%20the%20solution.) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/38244) GitHub link: https://github.com/apache/superset/discussions/38244#discussioncomment-15920970 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
