UNPKG

@fin.cx/einvoice

Version:

A TypeScript module for creating, manipulating, and embedding XML data within PDF files specifically tailored for electronic invoice (einvoice) packages.

50 lines (49 loc) 1.42 kB
import { InvoiceFormat } from '../../interfaces/common.js'; /** * Error types for PDF extraction operations */ export declare enum PDFExtractError { EXTRACT_ERROR = "XML extraction failed", INVALID_INPUT = "Invalid input parameters", NO_XML_FOUND = "No XML found in PDF" } /** * Result of a PDF extraction operation */ export interface PDFExtractResult { success: boolean; xml?: string; format?: InvoiceFormat; extractorUsed?: string; error?: { type: PDFExtractError; message: string; originalError?: Error; }; } /** * Main PDF extractor class that orchestrates the extraction process * Uses multiple specialized extractors in sequence to maximize success rate */ export declare class PDFExtractor { private extractors; /** * Constructor initializes the chain of extractors */ constructor(); /** * Extract XML from a PDF buffer * Tries multiple extraction methods in sequence * @param pdfBuffer PDF buffer * @returns Result with either the extracted XML or error information */ extractXml(pdfBuffer: Uint8Array | Buffer): Promise<PDFExtractResult>; /** * Create a PDF extract result with error information * @param type Error type * @param message Error message * @param originalError Original error object * @returns Error result */ private createErrorResult; }