动态渲染两个或更多PDF文件

问题描述

我需要创建两个按钮来下载我用react-pdf创建的pdf。我这样尝试:

const docs = [<Doc1 />,<Doc2 />]
const Buttons = () => docs.map(doc =>
    <PDFDownloadLink document={doc} >
    {
        ({loading}) => (<Button loading={loading} />)
    }
    </PDFDownloadLink>
)

当我尝试渲染它时,出现错误

无法读取null的属性“ hasGlyphForCodePoint”

我使用自定义字体,但是没有其他方法可以在react-pdf中获取Cyrilic。当我删除自定义字体时,两个文档都成功呈现,但是没有Cyrilic。我该怎么办?

解决方法

此处介绍了该问题和一些解决方法:https://github.com/diegomura/react-pdf/issues/310

我最终使用了以下解决方案:https://gist.github.com/JacobFischer/aecbd871cb2aae46993236f65797da5c ...将PDF生成移至click事件。

通常,这似乎是异步/同时生成多个PDF的问题。