开发者问题收集

如何保存使用 react-pdf 库创建的 react 中的 pdf?

2020-09-30
7074

我正在创建一个 React 应用程序,其中我必须生成一个 PDF 并在单击按钮时保存该 PDF。 我如何将此 PDF 保存在我的本地目录中?

CreatePdf.js

import React, { Component } from 'react';
import { Document, Page, Text, View, StyleSheet, Image } from '@react-pdf/renderer';

class CreatePdf extends Component {
    constructor() {
        super();
        this.state = {
            styles: {} // all styles here
        }
    }

MyDocument = () => (
        <Document>
            <Page style={this.state.styles.body}>
                <Text style={this.state.styles.header} fixed>
                    ~ Created with react-pdf ~
                </Text>
            </Page>
        </Document>

    render() {
        return (
            <button onClick={(this.MyDocument, `${__dirname}/example.pdf`)}>Print PDF</button>
        )
    }
}
export default CreatePdf;

App.js

render() {
    return (
         <MyDocument />
    )
}

目前,当我单击按钮时,什么也没有发生。就像在 jsPDF 中一样,我们有 .save() ,同样我们如何保存这个 PDF?

1个回答

您可以使用 PdfDownLoadLink 包装您的文档以下载链接

import { PDFDownloadLink} from '@react-pdf/renderer';


<PDFDownloadLink document={<MyDocument />} fileName={"FileName"}> 

       <button> Download </button> 

</PDFDownloadLink> 
Mohammad Faisal
2020-09-30