我的网页中嵌入了一份powerbi报告。我需要的是在页面上添加一个“导出”按钮,并在单击该按钮时将报告导出到PDF。我该如何实现?在线用户建议使用report.print()
或window.print()
,但两者都不适合我。
var reportContainer = document.getElementById('reportContainer');
var report = powerbi.embed(reportContainer, config);
var report2 = powerbi.get(reportContainer);
console.log(report); --returns the report
console.log(report2); --also returns the report
report.print(); --nothing happens
report2.print(); --nothing happens
var saveAsParameters = {
name: "newReport"
};
report2.saveAs(saveAsParameters); --nothing happens report.saveas also nothing happens
window.print(); --it prints a blank page.
我发现了这个,但没有帮助:Print/Generate PDF of embedded power bi report
请注意,我知道我可以通过PowerBI Desktop将报告导出为pdf,但需要在自定义网页上进行。
任何帮助将不胜感激。
答案 0 :(得分:1)
很快,它将作为API的一部分提供(2020年2月之后)。
https://docs.microsoft.com/en-us/power-platform-release-plan/2019wave2/business-intelligence/api-export-report-powerpoint-pdf-jpeg
开发人员将可以在两种主要情况下为用户提供以PowerPoint,PDF和JPEG格式导出数据的选项:
交互模式:最终用户与报表进行交互并导出他们自己的数据视图。
非交互模式:离线生成分发给组织中不同人员的快照。将支持以下功能:
Power BI和非Power BI用户的导出报告(SaaS和PaaS嵌入方案)
导出用户上下文(屏幕截图将包括应用的过滤器,交叉过滤器等)
导出,包括行级安全性(RLS)
导出单个页面或整个报告
答案 1 :(得分:0)
您可以让您的消费者打印报告。无论何时打印,都可以选择下载为 pdf。所以你可以通过打印的方法解决问题。
这可以通过使用 Power BI Javascript API 轻松实现。
首先创建一个 HTML 按钮,允许用户点击打印他们的报告。
<button id="theClick" onclick="print()">Print</button>
拥有按钮后,为其添加 javascript。
function print() {
var element = $('#report-container')[0];
var report = powerbi.get(element);
report.print();
}
更多信息可以阅读微软官方文档:https://docs.microsoft.com/en-us/javascript/api/overview/powerbi/embedding-basic-interactions。