UNPKG

nodefact

Version:

Biblioteca para facturación electrónica en Perú con Node.js. Compatible con UBL 2.1 y servicios web de SUNAT.

84 lines (83 loc) 2.47 kB
/** * Módulo PDF - Generación de representaciones imprimibles * * Este módulo proporciona funcionalidades para generar representaciones * imprimibles (PDF) de los documentos electrónicos. */ import { NodeFactError } from '../core'; import { templates, getTemplateByDocumentType } from './templates'; export declare class PDFError extends NodeFactError { constructor(message: string); } export interface PDFOptions { outputPath?: string; logo?: string; paper?: 'a4' | 'letter' | 'ticket'; orientation?: 'portrait' | 'landscape'; fontSize?: { title?: number; subtitle?: number; normal?: number; small?: number; }; color?: { primary?: string; secondary?: string; text?: string; }; margins?: { top?: number; right?: number; bottom?: number; left?: number; }; qrCode?: boolean; footer?: { text?: string; includePageNumber?: boolean; }; } export interface PDFResult { success: boolean; path?: string; buffer?: Buffer; error?: string; } /** * Clase para generar representaciones imprimibles (PDF) */ export declare class PDFGenerator { private options; private twig; constructor(options?: PDFOptions); /** * Genera un PDF a partir de los datos de un documento electrónico * @param data Datos del documento electrónico * @param templateType Tipo de plantilla a utilizar * @returns Resultado de la generación del PDF */ generate(data: any, templateType?: string): Promise<PDFResult>; /** * Renderiza una plantilla Twig con los datos proporcionados * @param template Contenido de la plantilla * @param data Datos para la plantilla * @returns HTML renderizado */ private renderTemplate; /** * Convierte HTML a PDF * @param html Contenido HTML * @param data Datos del documento * @returns Resultado de la generación del PDF */ private htmlToPdf; } /** * Genera un PDF a partir de los datos de un documento electrónico * @param data Datos del documento electrónico * @param options Opciones de generación del PDF * @param templateType Tipo de plantilla a utilizar * @returns Resultado de la generación del PDF */ export declare function generatePdf(data: any, options?: PDFOptions, templateType?: string): Promise<PDFResult>; export { templates, getTemplateByDocumentType };