0

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

创建PDF.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;

应用程序.js

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

至于现在,当我点击按钮时,什么也没有发生。就像在jsPDF中一样,我们也有.save()类似的方法来保存这个 pdf 文件?

4

1 回答 1

6

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

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


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

       <button> Download </button> 

</PDFDownloadLink> 
于 2020-09-30T07:34:21.603 回答