UNPKG

@pdfme/converter

Version:

TypeScript base PDF generator and React base UI. Open source, developed by the community, and completely free to use under the MIT license!

35 lines 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pdf2img = pdf2img; async function pdf2img(pdf, options = {}, env) { try { const { scale = 1, imageType = 'jpeg', range = {} } = options; const { start = 0, end = Infinity } = range; const { getDocument, createCanvas, canvasToArrayBuffer } = env; const pdfDoc = await getDocument(pdf); const numPages = pdfDoc.numPages; const startPage = Math.max(start + 1, 1); const endPage = Math.min(end + 1, numPages); const results = []; for (let pageNum = startPage; pageNum <= endPage; pageNum++) { const page = await pdfDoc.getPage(pageNum); const viewport = page.getViewport({ scale }); const canvas = createCanvas(viewport.width, viewport.height); if (!canvas) { throw new Error('Failed to create canvas'); } const context = canvas.getContext('2d'); if (!context) { throw new Error('Failed to get canvas context'); } await page.render({ canvasContext: context, viewport }).promise; const arrayBuffer = canvasToArrayBuffer(canvas, imageType); results.push(arrayBuffer); } return results; } catch (error) { throw new Error(`[@pdfme/converter] pdf2img failed: ${error.message}`); } } //# sourceMappingURL=pdf2img.js.map