pdfkit-table-ts
Version:
PdfKit Table. Helps to draw informatins in simple tables using pdfkit. #server-side. Generate pdf tables with javascript (PDFKIT plugin)
102 lines • 3.66 kB
TypeScript
declare const PDFDocumentSource: any;
import { IData, IDivider, IHeader, IOptions, IPadding, IRect, ITable, ITitle } from "./types";
declare type IICellPaddingInput = number | number[] | IPadding;
declare interface IIFillAndOpacity {
fill: string | undefined;
opacity: number | undefined;
}
interface IIOptions {
title?: string | ITitle;
subtitle?: string | ITitle;
width?: number;
x?: number | null;
y?: number;
divider?: IDivider | undefined;
columnsSize?: number[];
padding?: number[] | IPadding;
hideHeader?: boolean;
minRowHeight?: number;
prepareHeader: () => any;
prepareRow: (row: any, indexColumn?: number, indexRow?: number, rectRow?: IRect, rectCell?: IRect) => any;
}
interface IICalcRowHeightOptions {
align?: string;
isHeader?: boolean;
preventLongText?: boolean;
}
interface IIVeryLongText {
index: number;
value: string | number;
fitValue: string | number;
restValue: string | number;
fitHeight: number;
}
declare type ITVeryLongText = IIVeryLongText | null;
interface IICalcRowHeight {
height: number;
haveLongText: boolean;
veryLongText: ITVeryLongText[] | null;
}
interface IIPdfkitTableCache {
title: string | ITitle;
subtitle: string | ITitle;
headers: (string | IHeader)[];
datas: IData[];
rows: string[][];
options: IIOptions;
table: {
width: number;
pages: number;
lines: number;
columns: number;
summation: any[];
};
distanceCorrection: number;
safelyPageHeight: number;
safelyPageY: number;
}
declare class PDFDocument extends PDFDocumentSource {
pdfkitTableCache: IIPdfkitTableCache;
constructor(option?: any);
private initValidates;
private initCalcs;
resetPeerTable(): void;
resetPeerPage(): void;
initColumns(): void;
prepareTable(table: any): any;
prepareOptions(options?: any): any;
prepareRowOptions(row: any): void;
prepareRowFillOptionsHeader: (object: any) => IIFillAndOpacity;
prepareRowFillOptionsData: (object: any) => IIFillAndOpacity;
prepareCellPadding(p: IICellPaddingInput): IPadding;
addPageAsync(): Promise<void>;
pageAddedFire(): Promise<void>;
createFill(rect: IRect, fillColor?: string, fillOpacity?: number): Promise<void>;
addBackground: (rect: IRect, fillColor?: string | undefined, fillOpacity?: number | undefined) => Promise<void>;
createDivider(type: string, x: number, y: number, strokeWidth?: number, strokeOpacity?: number, strokeDisabled?: boolean, strokeColor?: string): void;
createTitles(): Promise<unknown>;
createTitle(data: string | ITitle | undefined, size?: number, opacity?: number, isTitle?: boolean): Promise<void>;
createHeader(): Promise<void>;
createRowString(data: any): Promise<void>;
createRowObject(data: any): Promise<void>;
calcRowHeightString(row: any, opt: IICalcRowHeightOptions): Promise<IICalcRowHeight>;
calcRowHeightObject(row: any, opt: IICalcRowHeightOptions): Promise<IICalcRowHeight>;
calcTitleSubtitleHeaderAndFirstLine(): Promise<number>;
calcLimitCellOnPage(y: number, height: number): boolean;
createTable(data: any): Promise<void>;
tableResume(): {
y: any;
x: any;
width: number;
pages: number;
lines: number;
columns: number;
summation: any[];
};
table(table: ITable, options: IOptions, callback?: Function): Promise<object>;
tables(tables: ITable[]): Promise<unknown>;
logg(...args: any[]): void;
}
export default PDFDocument;
export { PDFDocument };
//# sourceMappingURL=index.d.ts.map