Почему моя презентация PowerPoint пуста, когда я экспортирую панель мониторинга Ганта с помощью html2canvas? - PullRequest
0 голосов
/ 08 февраля 2019

Я создал собственную панель инструментов диаграммы Ганта с использованием веб-технологий.Я также создал функцию «Экспорт в PowerPoint», используя html2canvas.

. Хотя она работала в предыдущих версиях Chrome, в последней версии - нет.При экспорте панели мониторинга в PowerPoint я получаю пустую презентацию.

Я вызываю функцию exportPPT со страницы HTML, когда нажимаю кнопку «Экспорт».

Вот мой код:

let callDownloadPPT = function (pngUrl) {
    $('#p_loader').show();

    let property = {
        name: "Project name",
        heading: "",
        subheading: ""
    };

    Service.downloadPPT(pngUrl, property)
        .then(function successCallback(response) {
            if (response &&
                response.data &&
                response.data.status === "success" &&
                response.data.variable &&
                response.data.variable.row.column) {
                $scope.downloadUrl = $sce.trustAsResourceUrl(response.data.variable.row.column);

                let _template = '<iframe id="exportIframe" src="' + $scope.downloadUrl + '" style="display: none; visibility: hidden; width: 1px; height: 1px;"></iframe>';
                angular.element(document.getElementById('downloadIframe')).append($compile(_template)($scope));
            }

            $('#p_loader').hide();

        }, function errorCallback(error) {
            $('#p_loader').hide();
        });
};


$scope.exportPPT = function () {
    $(document).ready(function () {
        // Check if document width is higher than window width :)
        if ($(document).width() <= $(window).width()) {
            document.getElementById('downloadIframe').innerHTML = "";
            $('#p_loader').show();

            html2canvas($("#gantt-chart-full"), {
                allowTaint: true,
                onrendered: function (canvas) {
                    var myImage = canvas.toDataURL("img/png");
                    let base64String = /,(.+)/.exec(myImage)[1];
                    callDownloadPPT(base64String);
                }
            });
        } else {
            document.getElementById('downloadIframe').innerHTML = "";
            $('#p_loader').show();
            html2canvas($("#gantt-chart-full"), {
                height: $("#gantt-chart-full").get(0).scrollHeight,
                width: $("#gantt-chart-full").get(0).scrollWidth,
                logging: true
            }).then(function (canvas) {
                var myImage = canvas.toDataURL("img/png");
                let base64String = /,(.+)/.exec(myImage)[1];
                callDownloadPPT(base64String);
            });
        }
    });
};

Как сделать так, чтобы PowerPoint не был пустым?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...