Изображение искажается при открытии PDF-строки в окне браузера с помощью JavaScript - PullRequest
0 голосов
/ 03 июля 2019

Я хочу открыть строку pdf, полученную при вызове в WebSphere Commerce с использованием JavaScript.Сначала я получаю строку pdf с помощью вызова rest, как показано ниже.

<wcf:rest var="invoicePdf" format="raw" url="${InvoicePdfAPI}" scope="request">
                <wcf:header name="Authorization" value="Basic ${authString}" />
                <wcf:var name="customerId" value="${custId}" />
                <wcf:var name="id" value="${id}" />
</wcf:rest>

Затем я экранирую символы JS, как показано ниже

<% 
    String pdfStringSession=(String)(request.getAttribute("invoicePdf"));
    request.setAttribute("invoicePdfFormattedString",StringEscapeUtils.escapeEcmaScript(pdfStringSession));
%>

Теперь я открываю строку pdf нащелчок по кнопке ниже JS.

var b64 = window.btoa(unescape(encodeURIComponent('${invoicePdfFormattedString}')));
            var str2 = decodeURIComponent(escape(window.atob(b64)));
            var file = new Blob([str2], {type: 'application/pdf'});
            var fileURL = URL.createObjectURL(file);
            window.open(fileURL);

pdf генерируется отлично, но в файле pdf есть изображение, которое искажается и становится черным.

Любая помощь будет принята с благодарностью.

...