UNPKG

pdftoimg-js

Version:

A javascript library that help to convert pdf to img in both platform nodejs and browser

2 lines (1 loc) 2.52 kB
"use strict";var D=Object.create;var s=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var I=(t,r)=>{for(var n in r)s(t,n,{get:r[n],enumerable:!0})},y=(t,r,n,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of R(r))!_.call(t,a)&&a!==n&&s(t,a,{get:()=>r[a],enumerable:!(e=b(r,a))||e.enumerable});return t};var L=(t,r,n)=>(n=t!=null?D(F(t)):{},y(r||!t||!t.__esModule?s(n,"default",{value:t,enumerable:!0}):n,t)),k=t=>y(s({},"__esModule",{value:!0}),t);var M={};I(M,{pdfToImg:()=>j,singlePdfToImg:()=>S});module.exports=k(M);var q=process.cwd(),u="node_modules/pdfjs-dist/cmaps/",A="node_modules/pdfjs-dist/standard_fonts/";var P={imgType:"png",pages:"all",scale:1,background:"rgb(255,255,255)",intent:"display",documentOptions:{},maxWidth:null,maxHeight:null,scaleForBrowserSupport:!1},l=(t,r)=>{let n=r!==void 0?t:1,e=r!==void 0?r:t;return Array.from({length:e-n+1},(a,o)=>n+o)};function x(t,r){return t==="firstPage"?[1]:t==="lastPage"?[r]:typeof t=="number"?[Math.max(1,t)]:Array.isArray(t)?t.length?t:[1]:typeof t=="object"?l(t.startPage??1,t.endPage??r):l(1,r)}function T(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array}function j(t,r){let n=async e=>await S(e,r);return Array.isArray(t)?Promise.all(t.map(n)):n(t)}async function S(t,r={}){let n=await import("pdfjs-dist/legacy/build/pdf.mjs"),e={...P,...r},o=await n.getDocument({standardFontDataUrl:A,cMapUrl:u,cMapPacked:!0,...T(t)?{data:Buffer.isBuffer(t)?new Uint8Array(t):t}:{url:t},...e.documentOptions}).promise,c=o.numPages,p=x(e.pages,c),i=await Promise.all(p.map(f=>B(o,f,e)));return e.pages==="firstPage"||e.pages==="lastPage"||typeof e.pages=="number"?i[0]:i}async function B(t,r,n){let e=await t.getPage(r),a=n.scale,o=e.getViewport({scale:a});if(n.scaleForBrowserSupport||n.maxWidth||n.maxHeight){let{maxWidth:d,maxHeight:m}=n;d=d??4096,m=m??4096;let O=d/o.width,U=m/o.height,w=Math.min(O,U,1);a=a*w,o=e.getViewport({scale:a})}let c=t.canvasFactory,{canvas:p,context:i}=c.create(o.width,o.height);await e.render({canvasContext:i,viewport:o,background:n.background||"rgb(255,255,255)",intent:n.intent||"display"}).promise;let h=n.imgType==="jpg"?"image/jpeg":"image/png";return p.toDataURL(h)}0&&(module.exports={pdfToImg,singlePdfToImg});