UNPKG

@cantoo/pdf-lib

Version:

Create and modify PDF files with JavaScript

178 lines 4.36 kB
import { Color } from './colors'; import PDFFont from './PDFFont'; import { Rotation } from './rotations'; import { FillRule, LineCapStyle, TextRenderingMode } from './operators'; import type { Space, TransformationMatrix } from '../types'; interface SvgOptions { matrix?: TransformationMatrix; clipSpaces?: Space[]; } export declare enum BlendMode { Normal = "Normal", Multiply = "Multiply", Screen = "Screen", Overlay = "Overlay", Darken = "Darken", Lighten = "Lighten", ColorDodge = "ColorDodge", ColorBurn = "ColorBurn", HardLight = "HardLight", SoftLight = "SoftLight", Difference = "Difference", Exclusion = "Exclusion" } export interface PDFPageDrawTextOptions extends SvgOptions { color?: Color; opacity?: number; blendMode?: BlendMode; font?: PDFFont; size?: number; rotate?: Rotation; xSkew?: Rotation; ySkew?: Rotation; x?: number; y?: number; lineHeight?: number; maxWidth?: number; wordBreaks?: string[]; strokeWidth?: number; strokeColor?: Color; renderMode?: TextRenderingMode; } export interface PDFPageDrawImageOptions extends SvgOptions { x?: number; y?: number; width?: number; height?: number; rotate?: Rotation; xSkew?: Rotation; ySkew?: Rotation; opacity?: number; blendMode?: BlendMode; } export interface PDFPageDrawPageOptions { x?: number; y?: number; xScale?: number; yScale?: number; width?: number; height?: number; rotate?: Rotation; xSkew?: Rotation; ySkew?: Rotation; opacity?: number; blendMode?: BlendMode; } export interface PDFPageDrawSVGOptions extends SvgOptions { x?: number; y?: number; scale?: number; rotate?: Rotation; borderWidth?: number; color?: Color; opacity?: number; borderColor?: Color; borderOpacity?: number; borderDashArray?: number[]; borderDashPhase?: number; borderLineCap?: LineCapStyle; blendMode?: BlendMode; fillRule?: FillRule; } export interface PDFPageDrawLineOptions extends SvgOptions { start: { x: number; y: number; }; end: { x: number; y: number; }; thickness?: number; color?: Color; opacity?: number; lineCap?: LineCapStyle; dashArray?: number[]; dashPhase?: number; blendMode?: BlendMode; } export interface PDFPageDrawRectangleOptions extends SvgOptions { x?: number; y?: number; rx?: number; ry?: number; width?: number; height?: number; rotate?: Rotation; xSkew?: Rotation; ySkew?: Rotation; borderWidth?: number; color?: Color; opacity?: number; borderColor?: Color; borderOpacity?: number; borderDashArray?: number[]; borderDashPhase?: number; borderLineCap?: LineCapStyle; blendMode?: BlendMode; } export interface PDFPageDrawSquareOptions extends SvgOptions { x?: number; y?: number; size?: number; rotate?: Rotation; xSkew?: Rotation; ySkew?: Rotation; borderWidth?: number; color?: Color; opacity?: number; borderColor?: Color; borderOpacity?: number; borderDashArray?: number[]; borderDashPhase?: number; borderLineCap?: LineCapStyle; blendMode?: BlendMode; } export interface PDFPageDrawEllipseOptions extends SvgOptions { x?: number; y?: number; xScale?: number; yScale?: number; rotate?: Rotation; color?: Color; opacity?: number; borderColor?: Color; borderOpacity?: number; borderWidth?: number; borderDashArray?: number[]; borderDashPhase?: number; borderLineCap?: LineCapStyle; blendMode?: BlendMode; } export interface PDFPageDrawCircleOptions extends SvgOptions { x?: number; y?: number; size?: number; color?: Color; opacity?: number; borderColor?: Color; borderOpacity?: number; borderWidth?: number; borderDashArray?: number[]; borderDashPhase?: number; borderLineCap?: LineCapStyle; blendMode?: BlendMode; } export interface PDFPageDrawSVGElementOptions { x?: number; y?: number; width?: number; height?: number; fontSize?: number; fonts?: { [fontName: string]: PDFFont; }; blendMode?: BlendMode; } export {}; //# sourceMappingURL=PDFPageOptions.d.ts.map