This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
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?
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.