@mostajs/image
v0.0.1
Published
Traitement d'image générique façon DIALECTES (@mostajs/orm) : un registre de PROCESSEURS (resize/convert/crop/strip-EXIF — driver Sharp) et d'extracteurs d'images de PDF (rendu des pages — pdfjs-dist + @napi-rs/canvas). Drivers optionnels, lazy + installH
Maintainers
Readme
@mostajs/image
Auteur : Dr Hamid MADANI [email protected] Licence : AGPL-3.0-or-later
Traitement d'image générique, façon dialectes (@mostajs/orm) : un registre de processeurs raster (resize / convert / crop / strip-EXIF — driver Sharp) et d'extracteurs d'images de PDF (rendu des pages — pdfjs-dist + @napi-rs/canvas). Tous les drivers sont optionnels (lazy + sonde available()) et fs-free (octets in → octets out).
La lecture de texte dans une image (OCR) est le module séparé
@mostajs/ocr. Un dialecte de lecture compose les deux :pdfPagesToImages(ici) →ocrImages(là-bas).
API
import { registerBuiltins, capabilities, imageInfo, resizeImage, convertImage,
cropCenter, stripExif, resizeDataUrl, dataUrlSizeKB, pdfPagesToImages } from "@mostajs/image";
registerBuiltins(); // enregistre sharp + pdfjs (idempotent)
const caps = await capabilities(); // { process, pdfImages }
const small = await resizeImage(bytes, { width: 800, format: "webp", quality: 80 });
const jpeg = await convertImage(bytes, "jpeg", 85);
const clean = await stripExif(bytes); // vie privée
const pages = await pdfPagesToImages(pdfBytes, { scale: 2, maxPages: 5 }); // PDF scanné → PNG[]Drivers : registerProcessor / registerPdfExtractor pour brancher les vôtres (même contrat).
Dépendances (optionnelles)
| Capacité | Paquet | Sans lui |
|---|---|---|
| resize/convert/crop/EXIF | sharp | capabilities().process = false, helpers lèvent une erreur claire |
| rendu de pages PDF | pdfjs-dist + @napi-rs/canvas | capabilities().pdfImages = false |
