Я создал собственную панель инструментов диаграммы Ганта с использованием веб-технологий.Я также создал функцию «Экспорт в 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 не был пустым?