canvas-editor-pdf
Version:
pdf exporter to canvas-editor
179 lines (177 loc) • 7.06 kB
TypeScript
import { IComputeRowListPayload, IDrawOption, IDrawRowPayload, IGetImageOption, IGetValueOption } from '../../interface/Draw';
import { IEditorData, IEditorOption, IEditorResult } from '../../interface/Editor';
import { IElement } from '../../interface/Element';
import { Position } from '../position/Position';
import { ImageParticle } from './particle/ImageParticle';
import { TextParticle } from './particle/TextParticle';
import { TableParticle } from './particle/table/TableParticle';
import { HyperlinkParticle } from './particle/HyperlinkParticle';
import { Header } from './frame/Header';
import { EditorMode, PaperDirection } from '../../dataset/enum/Editor';
import { CheckboxParticle } from './particle/CheckboxParticle';
import { RadioParticle } from './particle/RadioParticle';
import { DeepRequired, IPadding } from '../../interface/Common';
import { DateParticle } from './particle/date/DateParticle';
import { IMargin } from '../../interface/Margin';
import { I18n } from '../i18n/I18n';
import { ImageObserver } from '../observer/ImageObserver';
import { Footer } from './frame/Footer';
import { ListParticle } from './particle/ListParticle';
import { Group } from './interactive/Group';
import { LineBreakParticle } from './particle/LineBreakParticle';
import { default as jsPDF, Context2d } from 'jspdf';
import { IRow, IRowElement } from '../../interface/Row';
import { ITd } from '../../interface/table/Td';
import { IForceUpdateOption } from '@hufe921/canvas-editor/dist/src/editor/interface/Draw';
import { IUpdateOption } from '@hufe921/canvas-editor/dist/src/editor/interface/Editor';
export type PdfOptions = {
loadDefaultFonts?: boolean;
};
export declare class DrawPdf {
private fakeCanvas;
private fakeCtx;
private pageList;
private ctxList;
private ctxListInfos;
private pageNo;
private pagePixelRatio;
private mode;
private options;
private position;
private elementList;
private pdf;
private i18n;
private margin;
private background;
private group;
private underline;
private strikeout;
private highlight;
private imageParticle;
private laTexParticle;
private textParticle;
private tableParticle;
private pageNumber;
private lineNumber;
private waterMark;
private placeholder;
private header;
private footer;
private hyperlinkParticle;
private dateParticle;
private separatorParticle;
private superscriptParticle;
private subscriptParticle;
private checkboxParticle;
private radioParticle;
private blockParticle;
private listParticle;
private lineBreakParticle;
private pageBorder;
private imageObserver;
private LETTER_REG;
private WORD_LIKE_REG;
private rowList;
private pageRowList;
private printModeData;
defaultFontsLoadedPromise: Promise<boolean>;
constructor(options: DeepRequired<IEditorOption>, data: IEditorData, pdfOptions?: PdfOptions);
getCtx2d(): Context2d;
getFakeCtx(): CanvasRenderingContext2D;
measureText(font: string, text: string): TextMetrics;
downloadFont(url: string, fileName: string, id: string, type: string): Promise<unknown>;
_addDefaultFont(): Promise<boolean>;
loadDefaultFonts(): Promise<boolean>;
addFont(url: string, fileName: string, id: string, type: string): Promise<boolean>;
getFont(el: IElement): string;
getLetterReg(): RegExp;
getMode(): EditorMode;
filterAssistElement(elementList: IElement[]): IElement[];
setMode(payload: EditorMode): void;
getOriginalWidth(): number;
getOriginalHeight(): number;
getWidth(): number;
getHeight(): number;
getMainHeight(): number;
getMainOuterHeight(): number;
getCanvasWidth(pageNo?: number): number;
getCanvasHeight(pageNo?: number): number;
getInnerWidth(): number;
getOriginalInnerWidth(): number;
getContextInnerWidth(): number;
getMargins(): IMargin;
getOriginalMargins(): number[];
getPageGap(): number;
getOriginalPageGap(): number;
getPageNumberBottom(): number;
getMarginIndicatorSize(): number;
getDefaultBasicRowMarginHeight(): number;
getTdPadding(): IPadding;
getPageNo(): number;
setPageNo(payload: number): void;
getPage(pageNo?: number): HTMLCanvasElement;
getPageList(): HTMLCanvasElement[];
getPageCount(): number;
getTableRowList(sourceElementList: IElement[]): IRow[];
getOriginalRowList(): IRow[];
getRowList(): IRow[];
getPageRowList(): IRow[][];
getPdf(): jsPDF;
getCtx(): CanvasRenderingContext2D;
getOptions(): DeepRequired<IEditorOption>;
getGroup(): Group;
getPosition(): Position;
getLineBreakParticle(): LineBreakParticle;
getTextParticle(): TextParticle;
getHeaderElementList(): IElement[];
getTableElementList(sourceElementList: IElement[]): IElement[];
getElementList(): IElement[];
getMainElementList(): IElement[];
getOriginalElementList(): IElement[];
getOriginalMainElementList(): IElement[];
getFooterElementList(): IElement[];
getTd(): ITd | null;
spliceElementList(elementList: IElement[], start: number, deleteCount: number, ...items: IElement[]): void;
getImageParticle(): ImageParticle;
getTableParticle(): TableParticle;
getHeader(): Header;
getFooter(): Footer;
getHyperlinkParticle(): HyperlinkParticle;
getDateParticle(): DateParticle;
getListParticle(): ListParticle;
getCheckboxParticle(): CheckboxParticle;
getRadioParticle(): RadioParticle;
getImageObserver(): ImageObserver;
getI18n(): I18n;
getRowCount(): number;
getDataURL(payload?: IGetImageOption): Promise<string[]>;
setValue(payload: Partial<IEditorData>): Promise<void>;
setPageScale(payload: number): void;
getPagePixelRatio(): number;
setPagePixelRatio(payload: number | null): void;
setPageDevicePixel(): void;
setPaperSize(width: number, height: number): void;
setPaperDirection(payload: PaperDirection): void;
setPaperMargin(payload: IMargin): void;
getValue(options?: IGetValueOption): IEditorResult;
setEditorData(payload: Partial<IEditorData>): void;
private _formatContainer;
private _createPage;
private _initPageContext;
getElementFont(el: IElement, scale?: number): string;
getElementSize(el: IElement): number;
getElementRowMargin(el: IRowElement): number;
forceUpdate(options?: IForceUpdateOption): void;
updateOptions(payload: IUpdateOption): void;
computeRowList(payload: IComputeRowListPayload): IRow[];
private _computePageList;
private _drawHighlight;
drawRow(ctx2d: Context2d, payload: IDrawRowPayload): void;
private _drawFloat;
private _clearPage;
private _drawPage;
private _immediateRender;
render(payload?: IDrawOption): void;
destroy(): void;
clearSideEffect(): void;
}