我已将 Power BI 报表嵌入到我的一个客户端应用程序中。他们需要我已经实现的打印功能,现在我们还有一个请求,我们需要将客户端徽标和一些页脚添加到报告中,无法按照如下所示的格式与报告一起打印。
由于我的报告显示在 IFrame 中,我只是尝试将我的徽标放在一个单独的div 中,然后我尝试将此 IFrame 附加到该div 容器中。 当我尝试打印时,我只看到打印徽标和页脚,而不是报表,而是在报表部分中,它只显示 Power BI 加载图标,而不是实际报表。
var embedContainer = $('#dashboard-content-hidden')[0];
var report = powerbi.get(embedContainer);
//这是我附加报表的div,并且这个div有一些示例文本和图像。
$('#printCont').append(report);
打印div的替代方法-不起作用
//printDiv('printCont');
触发浏览器的打印对话框 - 这仅适用于打印报告。
report.print()
.catch(function (errors) {
Log.log(errors);
});
预期结果应如下所示
徽标在这里
Power Bi Report Here
免责声明在这里
- 作为报表容器提供的div 元素只能包含保存嵌入报表的 iframe。
- 调用
report.print()
方法将仅打印嵌入的报表。 - 从
powerbi.get()
返回的报表对象是与嵌入报表交互的 JS 对象。
一种解决方案是为您的徽标和免责声明使用单独的div,并将所有 3 个div 包装在一个父div 中。
<div id="print-this">
<div>
Logo
</div>
<div id="report-container">
</div>
<div>
Disclaimer
</div>
</div>