【发布时间】:2023-01-04 16:26:29
【问题描述】:
我正在使用https://www.npmjs.com/package/react-qr-code 在我的网站上生成二维码。
当我在 PDF 文件中打印此二维码时,我想更改此二维码的大小。 我可以在不更改反应页面大小的情况下更改pdf文件中二维码的大小吗? 我尝试使用状态更改大小,但问题是更新状态也会更新 DOM 容器上的大小。
我正在使用https://github.com/gregnb/react-to-print 来打印二维码。
import QRCode from 'react-qr-code';
import ReactToPrint from 'react-to-print';
const getPageMargins = () => {
return `@page { margin: '1000px' '10' '10 '10' !important; }`;
};
const onBeforeGetContent = () => {
setSize(200);
setIsLoading(true);
return Promise.resolve();
};
const onBeforePrint = () => {
setSize(100);
return Promise.resolve();
};
const onAfterPrint = () => {
setSize(100);
setIsLoading(true);
return Promise.resolve();
};
// this is what I am rendering
<div ref={QRRef}>
<QRCode
value={`{ "_id": "${unit.id}" }`}
size={size}
/>
<p className="hide-unit-id">{unit.id}</p>
</div>
<ReactToPrint
pageStyle={getPageMargins}
onBeforePrint={onBeforePrint}
onBeforeGetContent={onBeforeGetContent}
onAfterPrint={onAfterPrint}
trigger={() => (
<PrinterFilled />
)}
content={() => QRRef.current}>
</ReactToPrint>
任何帮助深表感谢。 提前致谢。
【问题讨论】:
-
你能分享一些代码吗?
-
您好,@NjugunaMureithi 感谢您的回复。我更新了代码 sn-ps。
-
你解决了吗?如果没有那么我可以试试。
标签: reactjs react-to-print react-qr-code