gpt4 book ai didi

reactjs - react JS + PDFKit

转载 作者:行者123 更新时间:2023-12-04 13:00:16 25 4
gpt4 key购买 nike

我试图了解如何让 PDF Kit 在 React JS 中工作。

我的简单要求是使用 ReactJS 和 PDFKit 在浏览器中呈现文件。

查看教程,引用了一些 PDFKit 可以在浏览器中工作的选项,但是目前尚不清楚这将如何应用于 React JS 世界,尤其是基于 Create React App 的项目......

http://pdfkit.org/demo/browser.html

https://www.npmjs.com/package/pdfkit#browser-usage

有没有人遇到过基于 React JS 和 PDFKit 的 Create React App 的工作示例?

谷歌今晚的答案似乎有点短。

最佳答案

我设法为此找到了答案。

它是 this 的组合和 this .

但只是提供一个概述/关键代码。在我的 react 应用程序中,我有这个(向我的 API 服务器发出发布请求):

            <Button
onClick={(e) => {
const { _id } = record;
fetch(`/api/pdf`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
filename: "test",
content: "Testing Content"
}),
}).then(async res => {
if (res.status === 200) {
const blob = await res.blob();
const file = new Blob(
[blob],
{type: 'application/pdf'}
);
//Build a URL from the file
const fileURL = URL.createObjectURL(file);
//Open the URL on new Window
window.open(fileURL);
}
})
>
Download
</Button>

在 API 服务器(节点 express 应用程序)中,我有这个:

const postMethod = () => async (req, res, next) => {
const doc = new PDFDocument()
let filename = req.body.filename
// Stripping special characters
filename = encodeURIComponent(filename) + '.pdf'
// Setting response to 'attachment' (download).
// If you use 'inline' here it will automatically open the PDF
res.setHeader('Content-disposition', 'attachment; filename="' + filename + '"')
res.setHeader('Content-type', 'application/pdf')
const content = req.body.content
doc.y = 300
doc.text(content, 50, 50)
doc.pipe(res)
doc.end()
}

关于reactjs - react JS + PDFKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58798867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com