mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-14 16:51:33 +10:00
Merge pull request #182 from SHENG-X/fix-save-as-pdf
fix: Save as pdf saved downloaded too many files on multiple clicks
This commit is contained in:
@ -104,12 +104,16 @@ const importJson = (event, dispatch) => {
|
|||||||
fr.readAsText(event.target.files[0]);
|
fr.readAsText(event.target.files[0]);
|
||||||
};
|
};
|
||||||
|
|
||||||
const saveAsPdf = (pageRef, panZoomRef, quality, type) =>
|
let saveAsPdfTimer = null;
|
||||||
new Promise(resolve => {
|
const saveAsPdf = (pageRef, panZoomRef, quality, type) => {
|
||||||
|
if(saveAsPdfTimer){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return new Promise(resolve => {
|
||||||
panZoomRef.current.autoCenter(1);
|
panZoomRef.current.autoCenter(1);
|
||||||
panZoomRef.current.reset();
|
panZoomRef.current.reset();
|
||||||
|
|
||||||
setTimeout(() => {
|
saveAsPdfTimer = setTimeout(() => {
|
||||||
html2canvas(pageRef.current, {
|
html2canvas(pageRef.current, {
|
||||||
scale: 5,
|
scale: 5,
|
||||||
useCORS: true,
|
useCORS: true,
|
||||||
@ -142,17 +146,23 @@ const saveAsPdf = (pageRef, panZoomRef, quality, type) =>
|
|||||||
|
|
||||||
doc.addImage(image, 'JPEG', marginX, marginY, canvasWidth, canvasHeight, null, 'SLOW');
|
doc.addImage(image, 'JPEG', marginX, marginY, canvasWidth, canvasHeight, null, 'SLOW');
|
||||||
doc.save(`RxResume_${Date.now()}.pdf`);
|
doc.save(`RxResume_${Date.now()}.pdf`);
|
||||||
|
saveAsPdfTimer = null;
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
}, 250);
|
}, 250);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const saveAsMultiPagePdf = (pageRef, panZoomRef, quality) =>
|
let saveAsMultiPagePdfTimer = null;
|
||||||
new Promise(resolve => {
|
const saveAsMultiPagePdf = (pageRef, panZoomRef, quality) => {
|
||||||
|
if(saveAsMultiPagePdfTimer){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return new Promise(resolve => {
|
||||||
panZoomRef.current.autoCenter(1);
|
panZoomRef.current.autoCenter(1);
|
||||||
panZoomRef.current.reset();
|
panZoomRef.current.reset();
|
||||||
|
|
||||||
setTimeout(() => {
|
saveAsMultiPagePdfTimer = setTimeout(() => {
|
||||||
html2canvas(pageRef.current, {
|
html2canvas(pageRef.current, {
|
||||||
scale: 5,
|
scale: 5,
|
||||||
useCORS: true,
|
useCORS: true,
|
||||||
@ -182,10 +192,12 @@ const saveAsMultiPagePdf = (pageRef, panZoomRef, quality) =>
|
|||||||
}
|
}
|
||||||
|
|
||||||
doc.save(`RxResume_${Date.now()}.pdf`);
|
doc.save(`RxResume_${Date.now()}.pdf`);
|
||||||
|
saveAsMultiPagePdfTimer = null;
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
}, 250);
|
}, 250);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
move,
|
move,
|
||||||
|
|||||||
Reference in New Issue
Block a user