martes, 20 de noviembre de 2018

Convertir un xml cfdi a pdf - Web Service

Convertir un xml cfdi a pdf - Web Service

Dirección del Web Service


La URL del Web service es la siguiente:

Este web service convierte un xml cfdi a su representación impresa pdf y envia un correo con los archivos cfdi adjuntos, el web service solo tiene 2 metodos

Funciones del web service

METODO subirImagen


Función
Parámetros de Entrada
Descripción
Datos de Retorno
subirImagen
imagen64
logotipo del pdf en base64 (archivos .jpg)
Regresa un número en formato texto, que corresponde al nombre del logotipo en el web service

El logotipo se mantiene almacenado en el web service, y se recomienda llamar a este método solo una vez.

METODO crearPdf


Función
Parámetros de Entrada
Descripción
Datos de Retorno
crearPdf
datos (Array)
informacion relacionada con el xml cfdi a convertir a pdf
Regresa la reprecentacion impresa del xml cfdi (PDF) EN FORMATO BASE64

El archivo xml  y pdf se eliminan del servidor al terminar de ejecutarse este metodo




EJEMPLO EN PHP

CLIENTE WS

//incluimos la clase nusoap.php
require_once('nusoap/lib/nusoap.php');

//LEER EL LOGOTIPO Y CONVERTIRLO A BASE64 PARA PODER ENVIARLO POR EL WEB SERVICE
$imagen = file_get_contents('logo-grande.png');
$imagen64 = base64_encode($imagen);

//CONFIGURACION DEL WEB SERVICE
$SOAP_CLIENT=$url_webservice;
$soapclient = new nusoap_client($SOAP_CLIENT,$esWSDL = true);

//LLAMANDO AL METODO imagen64 PARA CREAR EL LOGOTIPO DEL PDF
//REGRESA COMO RESPUESTA UN NUMERO, QUE ES EL CORRESPONDIENTE AL LOGOTIPO ENVIADO
$parametros_funcion = array('imagen64' => $imagen64);
$respuesta_webservice = $soapclient->call('subirImagen', $parametros_funcion);
$logo=$respuesta_webservice;

//CREAR EL PDF
//LEER EL XML CFDI Y CONVERTIRLO A BASE64 PARA PODER ENVIARLO POR EL WEB SERVICE
$xmlcfdi = file_get_contents('FACTURA-F2672-ELECTRO-CONTROLES-INDUSTRIALES-SA-DE-CV.xml');
$xmlcfdi64 = base64_encode($xmlcfdi);

//$datosHTML['RESPUESTA_UTF8'] = "SI";
$datos['PAC']['usuario'] = "DEMO700101XXX";   
$datos['PAC']['pass'] = "DEMO700101XXX";   
$datos['PAC']['produccion'] = "NO";
//MODULO MULTIFACTURAS : CONVIERTE UN XML CFDI A HTML
//$datos['modulo']="cfdi2html";                                                //NOMBRE MODULO
//$datos['rutaxml']=$res['archivo_xml'];    //RUTA DEL XML CFDI
$datos['xml_base64']=$xmlcfdi64;    //ARCHIVO XML CFDI EN BASE 64
$datos['titulo']="factura ejemplo";                                            //TITULO DE FACTURA
$datos['tipo']="FACTURA";                                                 //TIPO DE FACTURA VENTA,NOMINA,ARRENDAMIENTO, ETC
$datos['logo']=$logo;        //NUMERO DE LOGOTIPO QUE RETORNO EL WEBSERVICE
$datos['notas']="una nota mas y masa";                     //NOTA IMPRESA EN FACTURA
$datos['color_marco']="#000000";                          //COLOR DEL MARCO DE LA FACTURA
$datos['color_marco_texto']="#FFFFFF";    //COLOR DEL TEXTO DEL MARCO DE LA FACTURA
$datos['color_texto']="#000000";                 //COLOR DEL TEXTO EN GENERAL
$datos['fuente_texto']="Times New Roman, Times, serif";  //FUENTE DEL TEXTO EN GENERAL
$datos['enviar_a']="mashteratencion@gmail.com";  //DESTINATARIO FACTURA

//LLAMANDO AL METODO crearPdf PARA CREAR EL PDF DEL XML CFDI
//REGRESA EL PDF EN BASE64
$parametros_funcion1 = array('datos' => $datos);
$respuesta_webservice1 = $soapclient->call('crearPdf', $parametros_funcion1);

$nombre_archivo_pdf="mi_archivo.pdf";
$pdf_decode=base64_decode($respuesta_webservice1);
$guardar_pdf_en = file_put_contents($nombre_archivo_pdf,$pdf_decode);

echo "se creo el pdf $nombre_archivo_pdf";


MAS INFORMACION Y EJEMPLOS EN http://multifacturas.com

Convertir un xml cfdi a pdf en php
Convertir un xml cfdi a pdf en java
Convertir un xml cfdi a pdf en c sharp
Convertir un xml cfdi a pdf en visual basic
Convertir un xml cfdi a pdf en .net
Convertir un xml cfdi a pdf en windows



No hay comentarios:

Publicar un comentario

Como bloquera archivos adjuntos que son virus en postfix o plesk

   Como bloquear adjuntos del correo en Plesk/Postfix   1- edita el archivo  /etc/postfix/main.cf   2- busca el parametro mime_header_checks...