Syncfusion PdfViewer - загрузка данных напрямую из BLOB-объектов - PullRequest
2 голосов
/ 13 января 2020

Мой вопрос: как загрузить PDF прямо из BLOB-объекта? Я не хочу звонить в API, чтобы получить ответ. Проблема в том, что приведенный ниже код вызывает api on / load. Почему и как я могу избежать этого?

Машинопись:

  public service = 'http://localhost:4200/api/';
  public load() {
    this.gdvService.getData(this.data.id, this.data.configuration)
    .subscribe(gdvData => {
      const responseData = gdvData[this.data.configuration.dataColumn];
      const blob = new Blob([responseData], { type: 'application/pdf' });
      const reader = new FileReader();
      reader.readAsBinaryString(blob);
      reader.onloadend = () => {
        const base64data = reader.result;
        const pdfviewer = (document.getElementById('pdfViewer') as any).ej2_instances[0];
        pdfviewer.load(base64data, null);
      };
    });
  }

HTML:

<ejs-pdfviewer id="pdfViewer" [serviceUrl]='service' style="height:640px;display:block"></ejs-pdfviewer>

1 Ответ

0 голосов
/ 23 января 2020

Syncfusion PDF Viewer управляет как на стороне сервера, так и на стороне клиента. Управление средством просмотра PDF обрабатывает документ PDF на стороне сервера (разработан с использованием среды. NET) и отправляет обработанные данные PDF клиенту с помощью веб-службы для визуализации документа PDF и для дальнейших операций в средстве просмотра PDF. Таким образом, в настоящее время невозможно загрузить PDF-документ в PDF Viewer без какой-либо стороны.

С уважением, Акшая

...