Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
Hello everyone
I want to develop a custom visual that embeds a PDF document from SharePoint.
I thought this would be straightforward, like this:
constructor(options: VisualConstructorOptions) {
console.log('Visual constructor', options);
this.target = options.element;
if (document) {
let template = `<iframe src="https://mytenant.sharepoint.com/:b:/s/..." style="height: 100%; width: 100%;"></iframe>`
document.getElementsByTagName('body')[0].innerHTML = template;
}
}However, this doesn't work, the iframe just shows the browser's error page:
I'm guessing this is due to the sandboxing of custom visuals? Is there any way to work around this? The SharePoint and PowerBI are on the same tenant, so there shouldn't be any authentication problems, if you're logged into PowerBI you're logged into SharePoint as well, but the network requests do not go through (I even trying downloading the file from within the extension but the request is blocked by CORS)
Any possible way to work around this?
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
Check out the July 2026 Power BI update to learn about new features.
Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.