PptxGen js writeFile () не работает в IE11 - PullRequest
1 голос
/ 26 марта 2020

Хотя все работает нормально, когда отладчик нажимает на функцию pres.writeFile (), я вообще не могу получить pptx. Главным образом, как вопрос об обещании. Конечно, при тестировании с Chrome все работает как ожидается. Кто-нибудь сталкивался с подобной проблемой раньше? Какие-либо предложения? Что не так с IE11?

    var pres = new pptxgen();

function fetch_data(el) {
    $.ajax({
        url:`${document.querySelector('.off-to-see-the-wizard > .route').innerHTML}`,
        contentType:"application/json",
        dataType:"json",
        success:function(response){
            if(response)
            {                 
                var data=JSON.parse(response);
                createPresentation(data,el);
            }
            else{
                console.log(response)
            }
        },
        error:function(err){
            console.log(err);
        }
    })
}


function createPresentation(data){
    var second_image="image/base64 ...."
    var main_image="image/jpg;base64 ..."

    function createMasterSlide(pres){
        pres.defineSlideMaster({
                title:'MASTER_SLIDE',
                bkgd:  'FFFFFF',
                objects:[
                    {'text':{text:`Test ${data._gateDescript} review`,options:{color:'000000',x:4.7,y:6.77,h:0.46,w:3.63, fontSize:14}}},
                    {'image':{x:0.3,y:6.47,w:1.14,h:0.83,data:second_image}}
                ],
                slideNumber: { x:9.11, y:6.77 ,w:0.43 ,h:0.42}
            })
        }
    function createMainSlide(pres){
        pres.author="Team";
        pres.layout='LAYOUT_4x3';
        let main_slide=pres.addSlide();
        main_slide.addImage({data:main_image, w:10, h:7.5})
        main_slide.addText(`Project ID:  ${data._p.Id}\nProject Name: ${data._p.Name}`, {color:'D55C00' ,x:0.47, y:3.56, w:5.0, h:0.7, fontSize:24})
        main_slide.addText(`Review: Test ${data._gateDescript} \nDate: ${Date.now()} `)
        }

    createMasterSlide(pres);
    createMainSlide(pres);
    pres.writeFile('Presentation.pptx');
}

Ошибка быстрого обновления: см. Прикрепленное изображение. Ошибка

Ι узнайте, что у jszip есть проблема с ie11. Чтобы указать c pptxgen js, используйте jszip, который запускает generateInternalStream. В сфере действия этой функции что-то вспыхивает. Любые подсказки?

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Быстрое обновление для вашей справки. Проблема была окончательно решена путем установки версии jszip 3.1.5. Он стабильный и функционально использует IE11.

Так что вы должны установить эту спецификацию c version

npm install jszip@3.1.5 --save

Затем перейдите к модулям узла, чтобы получить возможность скопировать все модули узла jszip. Вернитесь к модулю узла pptxgen js. Перейдите в pptxgen js ---> node_modules и перезапишите jszip версией, которую вы установили и скопировали ранее.

Так что pptxgen js lib будет использовать версию jszip 3.1.5.

Проблема решена. Спасибо всем:)

0 голосов
/ 30 марта 2020

Какую версию jszip вы используете? Похоже, что pptxgenjs@3.1.1 использует jszip v3.2.1 по умолчанию.

Я обнаружил, что некоторые из них имеют ту же ошибку при использовании jszip версии 3.2.x в IE и Edge. Вы можете обратиться к этой теме . Последняя версия не имеет этой проблемы 3.1.5. Вы можете попробовать с jszip версии 3.1.x.

...