@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
TypeScript
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;
}