HTML 使用 jsPDF 在 react js 中转换为 PDF 无效
HTML to PDF convert in react js using jsPDF not working
执行以下函数后出现错误
在函数中,插入了简单的 HTML div 标签但仍然不起作用
一键生成pdf时会调用exportPDF函数
函数
const exportPDF = () => {
let element=(<div style={{display: "flex",flexWrap:"wrap"}}>Sample Text</div>)
const doc = new jsPDF();
doc.html(element, {
callback: function (doc) {
doc.save('sample.pdf');
}
});
}
错误
jspdf.es.min.js:128 Uncaught (in promise) Error: Unknown source type.
at Promise.<anonymous> (jspdf.es.min.js:128:1)
我正在使用 jsPDF 的 npm 包 ("jspdf": "^2.4.0")
无法弄清楚为什么 doc.html 在此代码中不起作用
我认为你传递的是 jsx,因为它是 React js。
如果你在一个简单的项目中尝试使用 HTML js 而不是 react js 我想你会得到结果。
为此,几个月前我遇到过像您这样的案例。最后我用节点 js 做了那件事而不是反应 js。节点 js 和纯 html css.
如果您使用的是 reactjs
,只需将您的元素转换为 html
,然后将其传递给 jspdf
,如下所示
import jsPDF from "jspdf";
import ReactDOMServer from "react-dom/server";
export default function App() {
const exportPDF = () => {
let element = (
<div style={{ display: "flex", flexWrap: "wrap" }}>Sample Text</div>
);
const doc = new jsPDF("p", "pt", "letter");
doc.html(ReactDOMServer.renderToString(element), {
callback: function (doc) {
doc.save('sample.pdf');
}
});
};
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<button onClick={exportPDF}>export</button>
</div>
);
}
执行以下函数后出现错误 在函数中,插入了简单的 HTML div 标签但仍然不起作用
一键生成pdf时会调用exportPDF函数
函数
const exportPDF = () => {
let element=(<div style={{display: "flex",flexWrap:"wrap"}}>Sample Text</div>)
const doc = new jsPDF();
doc.html(element, {
callback: function (doc) {
doc.save('sample.pdf');
}
});
}
错误
jspdf.es.min.js:128 Uncaught (in promise) Error: Unknown source type.
at Promise.<anonymous> (jspdf.es.min.js:128:1)
我正在使用 jsPDF 的 npm 包 ("jspdf": "^2.4.0")
无法弄清楚为什么 doc.html 在此代码中不起作用
我认为你传递的是 jsx,因为它是 React js。
如果你在一个简单的项目中尝试使用 HTML js 而不是 react js 我想你会得到结果。
为此,几个月前我遇到过像您这样的案例。最后我用节点 js 做了那件事而不是反应 js。节点 js 和纯 html css.
如果您使用的是 reactjs
,只需将您的元素转换为 html
,然后将其传递给 jspdf
,如下所示
import jsPDF from "jspdf";
import ReactDOMServer from "react-dom/server";
export default function App() {
const exportPDF = () => {
let element = (
<div style={{ display: "flex", flexWrap: "wrap" }}>Sample Text</div>
);
const doc = new jsPDF("p", "pt", "letter");
doc.html(ReactDOMServer.renderToString(element), {
callback: function (doc) {
doc.save('sample.pdf');
}
});
};
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<button onClick={exportPDF}>export</button>
</div>
);
}