Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@redocmx/client

Package Overview
Dependencies
Maintainers
2
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@redocmx/client

Conversión CFDI a PDF

  • 0.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

Conversión de CFDI a PDF

  • English documentation available here

@redocmx/client

El módulo @redocmx/client es un cliente de Node.js diseñado para interactuar con la API REST de redoc.mx para convertir CFDIs (Comprobante Fiscal Digital por Internet) a PDFs.

Este cliente facilita el proceso de enviar datos XML y recibir el PDF convertido, junto con los detalles de la transacción y metadatos.

Este paquete incluye definiciones de TypeScript que te permiten integrarlo sin problemas en tus proyectos de TypeScript.

Instalación

Para instalar el módulo, ejecuta:

npm install @redocmx/client

o si usas yarn:

yarn add @redocmx/client

Uso

Primero, importa el módulo y crea una instancia del cliente Redoc.

Puedes pasar opcionalmente tu clave API como un argumento, o el cliente intentará cargarla de la variable de entorno REDOC_API_KEY.

import Redoc from '@redocmx/client';

const redoc = new Redoc('tu_clave_api_aquí');

Convirtiendo CFDI a PDF

@redocmx/client proporciona dos opciones para cargar datos CFDI: desde un archivo o directamente desde una cadena.

Opción 1: Cargar XML desde el Sistema de Archivos
const cfdi = redoc.cfdi.fromFile('./ruta/a/tu/archivo.xml');
Opción 2: Usar una Cadena de Contenido XML
const cfdi = redoc.cfdi.fromString('<cadena_de_contenido_xml_aquí>');

Generando el PDF

Para convertir el CFDI cargado a un PDF:

try {
  const pdf = await cfdi.toPdf();
  const buffer = pdf.toBuffer();
  
  // Escribiendo el buffer del PDF a un archivo
  await fs.writeFile('./ruta/para/guardar/archivo.pdf', buffer);

  console.log(`ID de Transacción: ${pdf.getTransactionId()}`);
  console.log(`Total de Páginas: ${pdf.getTotalPages()}`);
  console.log(`Tiempo Total: ${pdf.getTotalTimeMs()} ms`);
  console.log(`Metadatos: ${pdf.getMetadata()}`);
} catch (error) {
  console.error("Ocurrió un error durante la conversión:", error);
}

Ejemplos

Referencia API

Redoc

El objeto redoc es una instancia de Redoc, creada usando new Redoc(api_key).

MétodoDescripción
redoc.cfdi.fromFile(filePath)Devuelve: Cfdi - Instancia
Carga contenido de archivo del sistema para convertir un CFDI a PDF. El archivo debe ser XML válido para un CFDI.
Devuelve una instancia de la clase Cfdi, que se puede usar para obtener el PDF.
redoc.cfdi.fromString(fileContent)Devuelve: Cfdi - Instancia
Usa un CFDI como cadena para convertir el CFDI a PDF. La cadena debe ser XML válido para un CFDI.
Devuelve una instancia de la clase Cfdi, que se puede usar para obtener el PDF.

Cfdi

El objeto cfdi es una instancia de Cfdi, creada usando redoc.cfdi.fromFile(rutaDelArchivo) o redoc.cfdi.fromString(contenidoDelArchivo).

MétodoDescripción
cfdi.setAddenda(str)Parámetros: String
Permite el uso de una addenda de redoc para tener control total sobre el diseño del PDF final.
cfdi.toPdf(opciones)Parámetros: Object - OpcionesPdf
Devuelve: Pdf - Instancia
Una instancia de la clase Pdf, que al invocarse, convierte el CFDI a PDF y lo almacena, junto con los datos generados de la solicitud de conversión.
OpcionesPdf
{
    "estilo_pdf": "John"
}

Pdf

El objeto pdf es una instancia de Pdf, creado a partir de cfdi.toPdf(opciones).

MétodoDescripción
pdf.toBuffer()Devuelve: Buffer
El documento PDF como buffer, listo para almacenarse en el sistema de archivos o para enviarse de vuelta en una solicitud HTTP.
pdf.getTransactionId()Devuelve: String - UUID
Un ID único para la solicitud de transacción al servicio de redoc.
pdf.getTotalPages()Devuelve: Integer
El número total de páginas generadas para el archivo PDF.
pdf.getTotalTimeMs()Devuelve: Integer
Tiempo en milisegundos tomado para convertir el CFDI a PDF.
pdf.getMetadata()Devuelve: Object - MetadatosCfdi
Información general del CFDI convertido.
MetadatosCfdi
{
    TDB...
}

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviarnos una solicitud de extracción o abrir un problema para cualquier error, característica o mejora.

Licencia

Este proyecto está licenciado bajo la Licencia MIT - vea el archivo LICENSE para más detalles.

FAQs

Package last updated on 19 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc