(pdfArrayBuffer, orderArr)
| 3654 | }; |
| 3655 | |
| 3656 | export const reorderPdfPages = async (pdfArrayBuffer, orderArr) => { |
| 3657 | try { |
| 3658 | const pdfDoc = await PDFDocument.load(pdfArrayBuffer); |
| 3659 | const newPdf = await PDFDocument.create(); |
| 3660 | const pages = await newPdf.copyPages( |
| 3661 | pdfDoc, |
| 3662 | orderArr.map((n) => n - 1) |
| 3663 | ); |
| 3664 | pages.forEach((p) => newPdf.addPage(p)); |
| 3665 | const pdfBase64 = await newPdf.saveAsBase64({ useObjectStreams: false }); |
| 3666 | const arrayBuffer = base64ToArrayBuffer(pdfBase64); |
| 3667 | return { arrayBuffer, base64: pdfBase64, totalPages: orderArr.length }; |
| 3668 | } catch (err) { |
| 3669 | console.log("Err while reordering pages", err); |
| 3670 | } |
| 3671 | }; |
| 3672 | |
| 3673 | // `generatePdfName` is used to generate file name |
| 3674 | export function generatePdfName(length) { |
no test coverage detected