@bicou/directus-extension-pdf-image
Version:
Directus extension to create a screenshot image for each uploaded PDF document
2 lines (1 loc) • 694 B
JavaScript
import{defineHook as a}from"@directus/extensions-sdk";import{pdf as e}from"pdf-to-img";import{Readable as i}from"node:stream";var t=a((({action:a},{services:t,getSchema:o})=>{a("files.upload",(async({payload:a,key:n},s)=>{if("application/pdf"===a.type){const c=await o(),p=new t.AssetsService({schema:c,accountability:s.accountability}),{stream:l}=await p.getAsset(n),m=await e(l),d=await m.getPage(1);if(d){a.type="image/png",a.filename_download=a.filename_download.replace(/\.pdf$/i,"")+".png",a.filename_disk=a.filename_disk.replace(/\.pdf$/i,"")+".png";const e=new t.FilesService({schema:c,accountability:s.accountability});await e.uploadOne(i.from(d),{...a})}}}))}));export{t as default};