Skip to main content
All methods are static. They use the configured endpoint (and auth) from Chromiumly.configure().

convert(options)

Convert PDFs to PDF/A and/or PDF/UA.
PDFEngines.convert({
  files: PathLikeOrReadStream[];
  pdfa?: PdfFormat;
  pdfUA?: boolean;
  downloadFrom?: DownloadFrom;
  webhook?: WebhookOptions;
}): Promise<Buffer>

merge(options)

Merge multiple PDFs into one.
PDFEngines.merge({
  files: PathLikeOrReadStream[];
  pdfa?: PdfFormat;
  pdfUA?: boolean;
  metadata?: Metadata;
  downloadFrom?: DownloadFrom;
  webhook?: WebhookOptions;
  flatten?: boolean;
  watermark?: PdfEngineWatermark;
  stamp?: PdfEngineStamp;
  rotate?: PdfEngineRotate;
}): Promise<Buffer>

rotate(options)

Rotate pages of one or more PDFs (dedicated Gotenberg rotate route).
PDFEngines.rotate({
  files: PathLikeOrReadStream[];
  angle: 90 | 180 | 270;
  pages?: string;
  webhook?: WebhookOptions;
}): Promise<Buffer>

split(options)

Split PDFs by page range or intervals.
PDFEngines.split({
  files: PathLikeOrReadStream[];
  options: Split;  // { mode: 'pages' | 'intervals', span: string, unify?, flatten? }
  webhook?: WebhookOptions;
  watermark?: PdfEngineWatermark;
  stamp?: PdfEngineStamp;
  rotate?: PdfEngineRotate;
}): Promise<Buffer>
Import the PdfEngineRotate type from chromiumly when typing rotate options.

watermark(options)

Apply a watermark to one or more PDFs.
PDFEngines.watermark({
  files: PathLikeOrReadStream[];
  watermark: PdfEngineWatermark;
  webhook?: WebhookOptions;
}): Promise<Buffer>

stamp(options)

Apply a stamp to one or more PDFs.
PDFEngines.stamp({
  files: PathLikeOrReadStream[];
  stamp: PdfEngineStamp;
  webhook?: WebhookOptions;
}): Promise<Buffer>

flatten(files)

Flatten forms and annotations.
PDFEngines.flatten(
  files: PathLikeOrReadStream[],
  webhook?: WebhookOptions
): Promise<Buffer>

readMetadata(files)

Read metadata from PDFs.
PDFEngines.readMetadata(
  files: PathLikeOrReadStream[],
  webhook?: WebhookOptions
): Promise<Buffer>

writeMetadata(options)

Write metadata to PDFs.
PDFEngines.writeMetadata({
  files: PathLikeOrReadStream[];
  metadata: Metadata;  // key-value, e.g. Author, Title, Keywords
  webhook?: WebhookOptions;
}): Promise<Buffer>

readBookmarks(files, webhook?)

Read bookmarks from PDFs.
PDFEngines.readBookmarks(
  files: PathLikeOrReadStream[],
  webhook?: WebhookOptions
): Promise<Buffer>

writeBookmarks(options)

Write bookmarks to PDFs.
PDFEngines.writeBookmarks({
  files: PathLikeOrReadStream[];
  bookmarks: Bookmark[] | Record<string, Bookmark[]>;
  webhook?: WebhookOptions;
}): Promise<Buffer>

encrypt(options)

Encrypt PDFs with user and optional owner password.
PDFEngines.encrypt({
  files: PathLikeOrReadStream[];
  options: { userPassword: string; ownerPassword?: string };
  webhook?: WebhookOptions;
}): Promise<Buffer>

embed(options)

Attach files to existing PDFs.
PDFEngines.embed({
  files: PathLikeOrReadStream[];   // PDFs to modify
  embeds: PathLikeOrReadStream[];  // files to attach
  webhook?: WebhookOptions;
}): Promise<Buffer>

generate(filename, buffer)

Convenience: write a buffer to __generated__/<filename> in the current working directory.
PDFEngines.generate(filename: string, buffer: Buffer): Promise<void>
Creates __generated__ if it does not exist.