UNPKG

@tato30/vue-pdf

Version:
85 lines (84 loc) 2.56 kB
import type { PageViewport } from 'pdfjs-dist'; import type { DocumentInitParameters, OnProgressParameters, PDFDataRangeTransport, TextContent, TypedArray } from 'pdfjs-dist/types/src/display/api'; import type { Metadata } from 'pdfjs-dist/types/src/display/metadata'; export interface Match { start: { idx: number; offset: number; }; end: { idx: number; offset: number; }; str: string; oindex: number; } export type LoadedEventPayload = PageViewport; export interface AnnotationEventPayload { type: string; data: any; } export interface HighlightEventPayload { matches: Match[]; page: number; textContent: TextContent; textDivs: HTMLElement[]; } export interface TextLayerLoadedEventPayload { textDivs: HTMLElement[]; textContent: TextContent | undefined; } export interface WatermarkOptions { columns?: number; rows?: number; rotation?: number; fontSize?: number; color?: string; } export interface HighlightOptions { ignoreCase?: boolean; completeWords?: boolean; } export interface Base<T, S> { type: T; spec: S; } export type XYZ = Base<'XYZ', [left: number, top: number, zoom: number]>; export type Fit = Base<'Fit', []>; export type FitH = Base<'FitH', [top: number]>; export type FitV = Base<'FitV', [left: number]>; export type FitR = Base<'FitR', [ left: number, bottom: number, right: number, top: number ]>; export type FitB = Base<'FitB', []>; export type FitBH = Base<'FitBH', [top: number]>; export type FitBV = Base<'FitBV', [left: number]>; export type PDFLocation = XYZ | Fit | FitH | FitV | FitR | FitB | FitBH | FitBV; export interface PDFDestination { pageIndex: number; location: PDFLocation; } export type OnProgressCallback = (progressData: OnProgressParameters) => void; export type UpdatePasswordFn = (newPassword: string) => void; export type OnPasswordCallback = (updatePassword: UpdatePasswordFn, reason: any) => void; export type OnErrorCallback = (error: any) => void; export type PDFSrc = string | URL | TypedArray | PDFDataRangeTransport | DocumentInitParameters | undefined | null; export interface PDFOptions { onProgress?: OnProgressCallback; onPassword?: OnPasswordCallback; onError?: OnErrorCallback; password?: string; } export interface PDFInfoMetadata { info: Object; metadata: Metadata; } export interface PDFInfo { metadata: PDFInfoMetadata; attachments: Record<string, unknown>; javascript: string[] | null; outline: any; }