ranui
Version:
UI Component library based on `Web Component`
52 lines (51 loc) • 1.53 kB
TypeScript
import type { BaseReturn, RenderOptions } from '@/components/preview/types';
export interface Viewport {
width: number;
height: number;
viewBox: Array<number>;
}
export interface RenderContext {
canvasContext: CanvasRenderingContext2D | null;
transform: Array<number>;
viewport: Viewport;
}
export interface PDFPageProxy {
pageNumber: number;
getViewport: ({ scale }: {
scale: number;
}) => Viewport;
render: (options: RenderContext) => void;
}
export interface PDFDocumentProxy {
numPages: number;
getPage: (x: number) => Promise<PDFPageProxy>;
}
declare global {
interface Window {
pdfjsLib: {
GlobalWorkerOptions: {
workerSrc: string;
};
getDocument: (x: string | ArrayBuffer) => {
promise: Promise<PDFDocumentProxy>;
};
};
}
}
export declare class PdfPreview {
private pdfDoc;
pageNumber: number;
total: number;
dom: HTMLElement;
pdf: string | ArrayBuffer;
onError: ((msg: BaseReturn) => void) | undefined;
onLoad: ((msg: BaseReturn) => void) | undefined;
constructor(pdf: string | ArrayBuffer, options: RenderOptions);
private getPdfPage;
pdfPreview: () => Promise<BaseReturn>;
showTotalPage: () => Promise<void>;
changePage: (num: number) => number;
prevPage: () => Promise<number>;
nextPage: () => Promise<number>;
}
export declare const renderPdf: (file: File, options: RenderOptions) => Promise<void>;