загрузить BLOB-файл PDF в Syncfusion Javascript ejpdfviewer - PullRequest
0 голосов
/ 15 октября 2019

У меня есть этот код, я пытаюсь загрузить BLOB-файл PDF, где бы он ни был успешно открыт в новой вкладке, но я хочу, чтобы этот PDF-файл загружался в Syncfusion ejpdfviewer, любые предложения

html <div id="iframe"></div>

JavaScript

                xhr.open('POST', '/MifosX/Reports/RunReportPDF');
                xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
                xhr.send(JSON.stringify(reportrequestviewmodel));
                xhr.responseType = "blob";
                xhr.onreadystatechange = function () {
                    let stateCode = 0;
                    console.log("readyState", this.readyState);
                    console.log("status", this.status);
                    if (this.readyState === 4) {
                        this.onreadystatechange = null;
                        if (this.status === 200) {

                            var file = new Blob([xhr.response], { type: 'application/pdf' });
                            var fileURL = URL.createObjectURL(file);
                            window.open(fileURL);
                            console.log(fileURL);

                            $("#iframe").ejPdfViewer({ serviceUrl: fileURL, interactionMode: 1 });

                            console.log(xhr.response);
                        } else {
                            alert(this.statusText);
                            stateCode = -1;
                        }
                    }
                    return stateCode;```

1 Ответ

1 голос
/ 24 октября 2019

Просмотрщик PDF не поддерживает загрузку PDF-документа с URL-адреса напрямую. Однако вы можете загрузить документ PDF, преобразовав URL-адрес в строку base64, используя API-интерфейс documentPath на стороне клиента на уровне примера.

Ниже приведен фрагмент кода для этого кода:

$("#pdfviewer").ejPdfViewer({ serviceUrl: '../api/pdfviewer/', documentpath:base64data ,pdfService: ej.PdfViewer.PdfService.Local }); 

Примечание:

  • Мы можем предоставить название PDF-документа / путь к немуbase64string PDF Viewer в API DocumetPath во время инициализации элемента управления.

  • Мы также можем динамически загружать PDF-документ в PDF Viewer с помощью API load ().

  • свойство serviceUrl в средстве просмотра PDF используется для сопоставления контроллера
    (наше средство просмотра PDF ориентировано как на клиентскую, так и на серверную сторону).

Мы создали простой пример для загрузки PDFдокумент, используя documentPath и поделился тем же в следующем месте,

https://www.syncfusion.com/downloads/support/directtrac/general/ze/PdfViewerSamples_(5)1344181241

Начало работы UG ссылка: https://help.syncfusion.com/js/pdfviewer/getting-started

Пожалуйста, найдитениже КБ для справки, https://www.syncfusion.com/kb/8737/how-to-load-a-pdf-document-from-url-into-pdf-viewer-from-client-side

Спасибо,

Акшая

...