UNPKG

@npoci/pdfform

Version:

Modern PDF form renderer with HTML overlay fields - view, fill, and map PDF forms in the browser

51 lines (50 loc) 1.58 kB
import { EventEmitter } from '../events/EventEmitter'; import { FieldDefinition } from '../types/base.types'; import { DiscoveredField } from '../discovery/FieldDiscoveryService'; export interface PDFFieldMapperOptions { container: HTMLElement; pdfUrl: string; fieldDefinitions?: FieldDefinition[]; workerSrc?: string; } export interface FieldSelectedEvent { field: DiscoveredField; currentMapping?: FieldDefinition; } export interface MappingChangedEvent { total: number; mapped: number; fieldKey: string; definition?: FieldDefinition; } export declare class PDFFieldMapper extends EventEmitter { private container; private pdfUrl; private pdfDoc; private currentPage; private pageWrapper; private canvas; private scale; private discoveryService; private clickZoneRenderer; private mappingStateManager; private modalManager; private fields; private renderTask; constructor(options: PDFFieldMapperOptions); private setupEventHandlers; render(): Promise<void>; private loadPDF; private renderPage; setPage(pageNumber: number): Promise<void>; getPageCount(): number; getCurrentPage(): number; setFieldDefinition(key: string, definition: Partial<FieldDefinition>): void; removeFieldDefinition(key: string): void; getFieldDefinitions(): FieldDefinition[]; exportDefinitions(): string; importDefinitions(definitions: FieldDefinition[]): void; getUnmappedFields(): DiscoveredField[]; clearMappings(): void; destroy(): void; }