首页 > 解决方案 > 如何在反应或javascript中将以下流转换为pdf文件

问题描述

%PDF-1.4
%âãÏÓ
1 0 obj
<</Alternate/DeviceRGB/N 3/Length 2595/Filter/FlateDecode>>stream
xwTT×Ͻwz¡Í0)Cï½
 ½7©ÒDa`(34±!¢EDA""±"`Á  Ä`QQy3²Vtåå½ßg}k½÷=gï}Öº¼ý¹¼tX

我调用了 ajax 调用,我需要将这些流转换为 pdf 文件。

零件:

export default class CharityCheckReport extends Component {
  async componentDidMount() {
    const response = await AdminGrantTaskService.getCharityCheckStream();
    const data = await response.blob();
    FileSaver.saveAs(data, "filename");
  }
}

服务:

import { ajax } from "rxjs/ajax";

const headers = {
  "Content-Type": "application/blob"
};

export class AdminGrantTaskService {
  static async getCharityCheckStream(action) {
    const req = await fetch("/v2/", headers);
    return req;
  }
}

标签: javascriptreactjs

解决方案


你可以这样做:

const file = new Blob(
    [data], 
    {type: 'application/pdf'});
//Build a URL from the file
const fileURL = URL.createObjectURL(file);
//Open the URL on new Window
window.open(fileURL);

推荐阅读