У меня есть компонент с таблицей материалов, и мне нужно сделать PDF-файл этого содержимого.
Я пытаюсь сделать это с помощью response-pdf, но в настоящее время я печатаю пустой документ, есть способ поместить PDFDownloadLink
в тот же компонент, который мне нужен для печати?
В настоящее время я отрисовываю:
return (
<Document>
<PDFDownloadLink
document={<Document />}
fileName="movielist.pdf"
style={{
textDecoration: "none",
padding: "10px",
color: "#4a4a4a",
backgroundColor: "#f2f2f2",
border: "1px solid #4a4a4a"
}}
>
{({ blob, url, loading, error }) =>
loading ? "Loading document..." : "Download Pdf"
}
</PDFDownloadLink>
<Page>
<TableContainer ref={ref} component={Paper}>
<Table aria-label="simple table">
hidded content to preserve space...
</Table>
<Pagination
className={classes.pagination}
count={lastPage}
page={page}
onChange={handleChangePage}
/>
</TableContainer>
</Page>
</Document>
)
Есть способ сделать ссылку на документ root которые имеют <PDFDownloadLink>
и передают это в документе prop?
Я также пытаюсь создать ссылку:
const ref = createRef();
<Document ref={ref}>
<PDFDownloadLink
document={ref}
fileName="movielist.pdf"
style={{
textDecoration: "none",
padding: "10px",
color: "#4a4a4a",
backgroundColor: "#f2f2f2",
border: "1px solid #4a4a4a"
}}
>
{({ blob, url, loading, error }) =>
loading ? "Loading document..." : "Download Pdf"
}
</PDFDownloadLink>
, но таким образом я получаю эту ошибку:
Объекты недопустимы в качестве дочерних элементов React (найдено: объект с ключами {текущий}). Если вы хотите отобразить коллекцию дочерних элементов, используйте вместо этого массив.