chromiumly
Version:
A lightweight Typescript library that interacts with Gotenberg's different modules to convert a variety of document formats to PDF files.
75 lines (74 loc) • 2.37 kB
TypeScript
import { Metadata, PathLikeOrReadStream, PdfFormat, PdfEngineStamp, PdfEngineWatermark } from '../../common';
import { PdfEngineRotate, Split } from '../../common/types';
import { ChromiumOptions, Cookie } from './common.types';
type PageSize = {
width: number | string;
height: number | string;
};
type PageMargins = {
top: number | string;
bottom: number | string;
left: number | string;
right: number | string;
};
export type PageProperties = {
singlePage?: boolean;
size?: PageSize;
margins?: PageMargins;
preferCssPageSize?: boolean;
printBackground?: boolean;
omitBackground?: boolean;
landscape?: boolean;
scale?: number;
nativePageRanges?: {
from: number;
to: number;
};
};
export type ConversionOptions = ChromiumOptions & {
properties?: PageProperties;
/**
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for pdfFormat.
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
*/
pdfFormat?: PdfFormat;
pdfUA?: boolean;
/**
* @deprecated Starting from Gotenberg version 8.0.0, Chromium no longer provides support for userAgent.
* @see {@link https://github.com/gotenberg/gotenberg/releases/tag/v8.0.0}
*/
userAgent?: string;
metadata?: Metadata;
cookies?: Cookie[];
split?: Split;
userPassword?: string;
ownerPassword?: string;
embeds?: PathLikeOrReadStream[];
/** PDF-engine post-processing watermark (behind content) */
watermark?: PdfEngineWatermark;
/** PDF-engine post-processing stamp (on top of content) */
stamp?: PdfEngineStamp;
/** PDF-engine post-process page rotation */
rotate?: PdfEngineRotate;
};
export type HtmlConversionOptions = ConversionOptions & {
html: PathLikeOrReadStream;
assets?: {
file: PathLikeOrReadStream;
name: string;
}[];
header?: PathLikeOrReadStream;
footer?: PathLikeOrReadStream;
};
export type UrlConversionOptions = ConversionOptions & {
url: string;
header?: PathLikeOrReadStream;
footer?: PathLikeOrReadStream;
};
export type MarkdownConversionOptions = ConversionOptions & {
html: PathLikeOrReadStream;
header?: PathLikeOrReadStream;
footer?: PathLikeOrReadStream;
markdown: PathLikeOrReadStream;
};
export {};