如何生成Powerbi嵌入式报告的PDF输出

时间:2019-03-07 20:18:07

标签: pdf powerbi powerbi-embedded powerbi-desktop powerbi-js-api

我的网页中嵌入了一份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,但需要在自定义网页上进行。

任何帮助将不胜感激。

2 个答案:

答案 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