genthumb
v1.0.3
Published
Generate fast WebP thumbnails from images, PDFs, Office files, spreadsheets, and text
Maintainers
Readme
GENTHUMB
Generate fast WebP thumbnails from images, PDFs, Office files, spreadsheets, and text.
Installation
npm install genthumbSupported Inputs
- Image:
jpg,jpeg,png,gif,bmp,webp,tiff - Document:
pdf,docx,doc - Presentation:
pptx,ppt - Spreadsheet:
csv,tsv,xlsx,xls,xlsm,xlsb,ods - Text:
txt,text,md,markdown,log
Notes:
csvandtsvare treated as spreadsheet inputs.- For unknown formats, genthumb returns an error.
API
generateThumbnail(input, width, height, mimeType?) => Bufferinput:string | Bufferwidth:numberheight:numbermimeType(optional):string
Returns a WebP-encoded Buffer.
Usage
Path input:
import { writeFileSync } from 'node:fs';
import { generateThumbnail } from 'genthumb';
const thumb = generateThumbnail('./tests/documents/test-image.jpeg', 320, 240);
writeFileSync('./thumb.webp', thumb);Buffer input:
import { readFileSync, writeFileSync } from 'node:fs';
import { generateThumbnail } from 'genthumb';
const source = readFileSync('./tests/documents/test-pdf.pdf');
const thumb = generateThumbnail(source, 320, 240, 'application/pdf');
writeFileSync('./thumb.webp', thumb);Buffer input with MIME auto-detection:
import { readFileSync } from 'node:fs';
import { generateThumbnail } from 'genthumb';
const source = readFileSync('./tests/documents/test-image.jpeg');
const thumb = generateThumbnail(source, 320, 240);