We use Power BI Embedded and want to print an embedded report by button click.
Code
const embedConfig: IReportLoadConfiguration = JSON.parse(JSON.stringify(this.data.reportLoadConfig));
const pbiEmbedReport = <pbi.Report>(this._pbiService.load(
this.embedReportWrapper.nativeElement, <IEmbedConfigurationBase>embedConfig
));
pbiEmbedReport.on('loaded', () => {
pbiEmbedReport.render(embedConfig);
pbiEmbedReport.on('rendered', () => {
pbiEmbedReport.print();
});
});
For some reason not all visuals are rendered completely in the PBI's iframe at the time of executing
pbiEmbedReport.print();
When we delay printing by 5 seconds then PBI gets additional time to finish rendering the report page.
Here https://docs.microsoft.com/en-us/power-bi/developer/embedded-performance-best-practices#measure-perf... and here https://github.com/Microsoft/PowerBI-JavaScript/wiki/Handling-Events it is said "Called when a report is fully rendered".
In the rendered report page we have standard visuals (one Table, one Donut chart, two Line Charts and several texts) and custom visuals (two Images). Only Table and Donut Chart are affected by this bug.
User | Count |
---|---|
12 | |
4 | |
4 | |
2 | |
2 |