pdf-raster

Node.js examples

Common Node and Bun usage patterns for convert().

Use these patterns when conversion happens entirely in server code or a worker.

Convert a PDF from disk

import { writeFile } from "node:fs/promises";
import { convert } from "@omsimos/pdf-raster";

const [firstPage] = await convert("./report.pdf", {
  pages: [0],
  dpi: 300,
});

await writeFile("./report-page-1.png", firstPage.data);

console.log(firstPage.mimeType);
// "image/png"

This is the simplest shape when the PDF already lives on disk and you want to save or inspect the rendered image output directly.

Convert selected pages from a larger document

import { convert } from "@omsimos/pdf-raster";

const pages = await convert("./report.pdf", {
  pages: [0, 3, 4],
  dpi: 300,
});

Request a different output format

import { convert } from "@omsimos/pdf-raster";

const pages = await convert("./report.pdf", {
  outputFormat: "webp",
  dpi: 200,
});

console.log(pages[0].mimeType);
// "image/webp"

Use PNG when you want the safest default. Use WebP or JPEG when smaller payloads matter more than lossless output.

Convert from an in-memory buffer

import { readFile } from "node:fs/promises";
import { convert } from "@omsimos/pdf-raster";

const bytes = await readFile("./invoice.pdf");
const pages = await convert(bytes, {
  dpi: 300,
});

Path vs buffer

await convert("./document.pdf");

Use a path when the file already lives on disk. Use a buffer when the PDF came from an upload, queue payload, or external storage SDK.

On this page