pdf保存功能在浏览器中不起作用

时间:2018-06-27 14:09:41

标签: javascript angular typescript pdf savefiledialog

我使用角度6框架。 我在那里建立了一个pdf,显示在浏览器(chrome)选项卡上。 但是保存功能不起作用。 当我单击“保存”图标时,该图标确实会闪烁,但未保存任何内容,因此不会打开任何上下文窗口。同样,右键单击会打开一个上下文菜单,但是当我单击“另存为”时,什么也不会发生。但是打印可以(也可以打印/另存为pdf)。

我无法保存pdf文件的地方是什么?

组件:

    private doPdfPreview(): void {
        // ...
        const newPdfWindow = window.open();
        this._reportService.getPdf(projectId, taskId, pageNumber).subscribe(pdfBytes => {
            const file = new Blob([pdfBytes], { type: 'application/pdf' });
            const fileURL = URL.createObjectURL(file);
            const iframe = newPdfWindow.document.createElement('iframe');
            iframe.width = '100%';
            iframe.height = '100%';
            iframe.frameBorder = '0';
            iframe.src = fileURL;
            newPdfWindow.document.body.appendChild(iframe);
            },
            error => {
                notify({
                    message: 'No rendered page to display',
                    type: 'error',
                    displayTime: 0,
                    closeOnClick: true
                });
            }
        );
    }

服务:

    getPdf(projectId: string, taskId?: number, pageNumber?: number): any {
        let url = `${this._baseUrl}/${this._apiEndpoint}/${projectId}/pdf`;

        if (taskId) {
            url = `${url}/${taskId}`;

            if (pageNumber) {
                url = `${url}/${pageNumber}`;
            }
        }

        return this._http.get(url, { responseType: 'arraybuffer' });
    }

0 个答案:

没有答案