es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo generar una factura en formato PDF a formato XML utilizando mPDF.

Tengo un formato de factura en PDF y quiero generar un formato de factura en XML según ZATCA, si alguien lo hizo, por favor necesito ayuda.

Vi esto en mPDF pero no logré entender cómo lograrlo.

$mpdf = new \Mpdf\Mpdf([
'PDFA' => true,
'PDFAauto' => true,
//'PDFAversion' => 'A-3',
]);

$mpdf->SetAssociatedFiles([
[
'name' => 'public_filename.xml',
'mime' => 'text/xml',
'description' => 'alguna descripción',
'AFRelationship' => 'Alternativo',
'path' => DIR . '/TaxInvoice.xml'
]
]);

$rdf = '<rdf:description rdf:about="" xmlns:zf="urn:ferd:pdfa:CrossIndustryDocument:invoice:1p0#">'."\n";
$rdf .= ' <zf:documenttype>FACTURA</zf:documenttype>'."\n";
$rdf .= ' <zf:documentfilename>ZUGFeRD-invoice.xml</zf:documentfilename>'."\n";
$rdf .= ' <zf:version>1.0</zf:version>'."\n";
$rdf .= ' <zf:conformancelevel>BÁSICO</zf:conformancelevel>'."\n";
$rdf .= '</rdf:description>'."\n";

$mpdf->SetAdditionalXmpRdf($rdf);

Quiero más explicación de alguien que lo haya hecho antes.

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el fragmento de código que proporcionaste utiliza la biblioteca mPDF para generar un archivo de factura en formato PDF/A junto con un archivo de factura XML asociado. Específicamente, el archivo XML se genera utilizando el modelo de datos ZUGFeRD requerido por la autoridad tributaria ZATCA.

    El código establece el objeto $mpdf para generar tanto archivos PDF/A como archivos PDF/Automatic, y crea un elemento RDF vacío $rdf que contiene los metadatos para el archivo XML de ZUGFeRD utilizando el espacio de nombres zf.

    Luego, el objeto $mpdf establece los archivos asociados como una matriz de archivos que incluye el archivo XML generado con la información proporcionada en el $rdf referenciado en la ruta del archivo.

    En general, el fragmento de código es solo una parte de todo el proceso de generación de facturas y no muestra cómo completar los datos de la factura. Sin embargo, está claro que los datos deben ser procesados y transformados en el modelo de datos ZUGFeRD para ser generados utilizando mPDF.

Comments are closed.