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