Saltar al pie de página
COMPARACIONES DE PRODUCTOS

Ghostscript GPL vs IronPDF para software de facturación VeriFactu: riesgo copyleft en España

Los ISVs españoles que desarrollan software de facturación certificable bajo el régimen VeriFactu se enfrentan a una evaluación de componentes que va mucho más allá de la funcionalidad técnica. La Agencia Estatal de Administración Tributaria (AEAT) impone penalizaciones de hasta 150.000 €/año a los proveedores de software de facturación no conforme. En ese contexto, la licencia copyleft de Ghostscript GPL —la misma AGPL que rige iText— añade una capa de riesgo legal que convierte una decisión técnica en una decisión de negocio de primer orden.

Este artículo analiza Ghostscript GPL e IronPDF desde la perspectiva del ISV español que necesita generar facturas con el sello VERI*FACTU, la leyenda Factura verificable en la sede electrónica de la AEAT, firmas PAdES para TicketBAI, y documentos Facturae 3.2.2 para FACe. La elección del componente PDF determina no solo la arquitectura, sino la exposición regulatoria del producto.

El marco VeriFactu y la obligación del proveedor de software

VeriFactu (postponido a 1 de enero de 2027 para el Impuesto sobre Sociedades y 1 de julio de 2027 para el resto de contribuyentes, según RDL 15/2025) establece que los proveedores de software de facturación —no solo los usuarios— son objeto de la penalización. Un ISV que distribuya software de facturación no conforme se expone a sanciones de hasta 150.000 €/año independientemente de si sus clientes son sancionados.

Esta realidad convierte la evaluación de componentes PDF en un análisis de riesgo empresarial:

  • El componente PDF genera las facturas que deben incluir el sello VERI*FACTU y el código QR de verificación AEAT
  • El componente PDF firma los documentos con PAdES bajo eIDAS para TicketBAI en las tres provincias vascas (Bizkaia/BATUZ, Gipuzkoa, Araba)
  • El componente PDF produce los Facturae 3.2.2 embebidos en PDF/A-3 para la plataforma FACe (B2G)
  • El componente PDF gestiona el archivado conforme a LOPDGDD y los requisitos de retención fiscal

Añadir Ghostscript GPL a este stack introduce la licencia AGPL sobre el componente más sensible del producto.

La trampa copyleft en software de facturación certificable

La AGPL (Affero General Public License) exige que cualquier software que use Ghostscript GPL —y que se distribuya o se ofrezca como servicio de red— libere su código fuente completo bajo los mismos términos copyleft. Para un ISV que ha invertido años en desarrollar lógica de negocio propietaria de facturación, esto significa:

Escenario A — Distribución de software (ERP/POS local): Si el ISV distribuye su software a clientes, está obligado a publicar todo el código fuente de la aplicación. Las mismas rutinas que implementan la generación de huella para VeriFactu, la cadena de firmado XAdES para TicketBAI, o los algoritmos de cálculo de IVA quedan expuestas bajo la AGPL.

Escenario B — SaaS/servicio de red: La AGPL cierra expresamente la laguna "ASP loophole": incluso si el ISV no distribuye binarios sino que presta el servicio de facturación en la nube, sigue obligado a liberar el código fuente bajo demanda del usuario. Un SaaS de facturación VeriFactu construido sobre Ghostscript GPL es incompatible con un modelo de negocio propietario.

Escenario C — Licencia comercial Artifex: Ghostscript GPL ofrece una licencia comercial pagada de Artifex Software que elimina la obligación copyleft. Sin embargo, su coste por servidor o por despliegue supera significativamente el de IronPDF para volúmenes de producción, y la negociación con Artifex añade incertidumbre contractual que un ISV bajo presión de cumplimiento regulatorio puede no querer.

La intersección VeriFactu × AGPL es particularmente aguda porque el riesgo copyleft y el riesgo regulatorio se materializan sobre el mismo componente: el generador de documentos de facturación.

Ghostscript GPL: arquitectura y limitaciones técnicas para facturación española

Ghostscript GPL es un intérprete de PostScript y PDF maduro con décadas de historia. Su integración en C# requiere:

// Arquitectura Ghostscript GPL desde C#
// Requiere gsdll32.dll / gsdll64.dll instalado externamente
using Ghostscript.NET;
using Ghostscript.NET.Processor;

GhostscriptVersionInfo gvi = new GhostscriptVersionInfo("gsdll64.dll");
GhostscriptProcessor processor = new GhostscriptProcessor();

List<string> switches = new List<string>
{
    "-dNOPAUSE",
    "-dBATCH",
    "-dSAFER",
    "-sDEVICE=pdfwrite",
    "-sOutputFile=factura_output.pdf",
    "factura_input.ps"
};

processor.Process(switches.ToArray());
// Arquitectura Ghostscript GPL desde C#
// Requiere gsdll32.dll / gsdll64.dll instalado externamente
using Ghostscript.NET;
using Ghostscript.NET.Processor;

GhostscriptVersionInfo gvi = new GhostscriptVersionInfo("gsdll64.dll");
GhostscriptProcessor processor = new GhostscriptProcessor();

List<string> switches = new List<string>
{
    "-dNOPAUSE",
    "-dBATCH",
    "-dSAFER",
    "-sDEVICE=pdfwrite",
    "-sOutputFile=factura_output.pdf",
    "factura_input.ps"
};

processor.Process(switches.ToArray());
Imports Ghostscript.NET
Imports Ghostscript.NET.Processor

Dim gvi As New GhostscriptVersionInfo("gsdll64.dll")
Dim processor As New GhostscriptProcessor()

Dim switches As New List(Of String) From {
    "-dNOPAUSE",
    "-dBATCH",
    "-dSAFER",
    "-sDEVICE=pdfwrite",
    "-sOutputFile=factura_output.pdf",
    "factura_input.ps"
}

processor.Process(switches.ToArray())
$vbLabelText   $csharpLabel

Para las obligaciones específicas del mercado español, Ghostscript GPL presenta limitaciones estructurales:

Requisito español Ghostscript GPL IronPDF
*Generación de factura con `VERIFACTU`** No nativo — requiere capa HTML→PS→PDF Directo vía ChromePdfRenderer
Leyenda Factura verificable en la sede electrónica de la AEAT Manipulación manual de texto PS Plantilla HTML con literales preservados
Código QR AEAT en factura Sin soporte QR nativo Integración con IronQR / imagen embebida
PAdES bajo eIDAS (TicketBAI) Sin soporte de firma digital PdfSignature con certificado FNMT/ACCV
Facturae 3.2.2 en PDF/A-3 Conversión PDF/A limitada SaveAsPdfA3() con XML embebido
XAdES para Bizkaia/BATUZ Fuera del alcance Integración via biblioteca XAdES externa
HTML a PDF nativo No soportado (requiere PS intermedio) Motor Chromium integrado
Licencia para ISV AGPL viral o Artifex comercial costoso Comercial predecible por despliegue

La ausencia de HTML a PDF nativo es especialmente problemática: las plantillas de factura modernas se diseñan en HTML/CSS para que el área contable no técnica pueda mantenerlas. Ghostscript GPL no puede renderizar HTML directamente; requiere conversión previa a PostScript mediante herramientas adicionales, lo que añade dependencias y puntos de fallo en el pipeline.

IronPDF: generación de facturas VeriFactu con componente comercial

IronPDF es una biblioteca PDF nativa de .NET con licencia comercial predecible que elimina tanto la complejidad copyleft como las dependencias binarias externas.

Factura con sello VeriFactu y QR de verificación AEAT

// NuGet: Install-Package IronPdf
using IronPdf;

// Plantilla HTML de factura con los literales VeriFactu obligatorios
string plantillaFactura = @"
<!DOCTYPE html>
<html lang='es'>
<head>
    <meta charset='UTF-8'>
    <style>
        body { font-family: Arial, sans-serif; }
        .verifactu-block { border: 2px solid #000; padding: 10px; margin-top: 20px; }
        .qr-code { float: right; }
    </style>
</head>
<body>
    <h1>FACTURA</h1>
    <p>Número: {{NumeroFactura}}</p>
    <p>Fecha: {{FechaFactura}}</p>
    <p>NIF Emisor: {{NifEmisor}}</p>

    <div class='verifactu-block'>
        <p><strong>VERI*FACTU</strong></p>
        <p>Factura verificable en la sede electrónica de la AEAT</p>
        <p>Huella: {{HuellaEncadenada}}</p>
        <img class='qr-code' src='data:image/png;base64,{{QRCodeBase64}}' 
             alt='Código QR AEAT' width='100' height='100' />
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

var pdf = renderer.RenderHtmlAsPdf(plantillaFactura
    .Replace("{{NumeroFactura}}", "FAC-2027-001234")
    .Replace("{{FechaFactura}}", "2027-01-15")
    .Replace("{{NifEmisor}}", "B12345678")
    .Replace("{{HuellaEncadenada}}", huellaVeriFactu)
    .Replace("{{QRCodeBase64}}", qrBase64));

pdf.SaveAs("factura_verifactu.pdf");
// NuGet: Install-Package IronPdf
using IronPdf;

// Plantilla HTML de factura con los literales VeriFactu obligatorios
string plantillaFactura = @"
<!DOCTYPE html>
<html lang='es'>
<head>
    <meta charset='UTF-8'>
    <style>
        body { font-family: Arial, sans-serif; }
        .verifactu-block { border: 2px solid #000; padding: 10px; margin-top: 20px; }
        .qr-code { float: right; }
    </style>
</head>
<body>
    <h1>FACTURA</h1>
    <p>Número: {{NumeroFactura}}</p>
    <p>Fecha: {{FechaFactura}}</p>
    <p>NIF Emisor: {{NifEmisor}}</p>

    <div class='verifactu-block'>
        <p><strong>VERI*FACTU</strong></p>
        <p>Factura verificable en la sede electrónica de la AEAT</p>
        <p>Huella: {{HuellaEncadenada}}</p>
        <img class='qr-code' src='data:image/png;base64,{{QRCodeBase64}}' 
             alt='Código QR AEAT' width='100' height='100' />
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

var pdf = renderer.RenderHtmlAsPdf(plantillaFactura
    .Replace("{{NumeroFactura}}", "FAC-2027-001234")
    .Replace("{{FechaFactura}}", "2027-01-15")
    .Replace("{{NifEmisor}}", "B12345678")
    .Replace("{{HuellaEncadenada}}", huellaVeriFactu)
    .Replace("{{QRCodeBase64}}", qrBase64));

pdf.SaveAs("factura_verifactu.pdf");
Imports IronPdf

' Plantilla HTML de factura con los literales VeriFactu obligatorios
Dim plantillaFactura As String = "
<!DOCTYPE html>
<html lang='es'>
<head>
    <meta charset='UTF-8'>
    <style>
        body { font-family: Arial, sans-serif; }
        .verifactu-block { border: 2px solid #000; padding: 10px; margin-top: 20px; }
        .qr-code { float: right; }
    </style>
</head>
<body>
    <h1>FACTURA</h1>
    <p>Número: {{NumeroFactura}}</p>
    <p>Fecha: {{FechaFactura}}</p>
    <p>NIF Emisor: {{NifEmisor}}</p>

    <div class='verifactu-block'>
        <p><strong>VERI*FACTU</strong></p>
        <p>Factura verificable en la sede electrónica de la AEAT</p>
        <p>Huella: {{HuellaEncadenada}}</p>
        <img class='qr-code' src='data:image/png;base64,{{QRCodeBase64}}' 
             alt='Código QR AEAT' width='100' height='100' />
    </div>
</body>
</html>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

Dim pdf = renderer.RenderHtmlAsPdf(plantillaFactura _
    .Replace("{{NumeroFactura}}", "FAC-2027-001234") _
    .Replace("{{FechaFactura}}", "2027-01-15") _
    .Replace("{{NifEmisor}}", "B12345678") _
    .Replace("{{HuellaEncadenada}}", huellaVeriFactu) _
    .Replace("{{QRCodeBase64}}", qrBase64))

pdf.SaveAs("factura_verifactu.pdf")
$vbLabelText   $csharpLabel

Firmado PAdES con certificado FNMT para TicketBAI

Las tres provincias vascas (Bizkaia/BATUZ, Gipuzkoa, Araba) requieren facturas firmadas con XAdES. Para el formato PDF de acompañamiento, PAdES bajo eIDAS es el estándar aplicable, con certificados FNMT o de otra CA acreditada:

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Cargar certificado FNMT (Fábrica Nacional de Moneda y Timbre)
// o certificado de entidad acreditada bajo eIDAS
var certificado = new X509Certificate2(
    "certificado_fnmt.pfx", 
    "contraseña_certificado",
    X509KeyStorageFlags.Exportable);

var pdf = PdfDocument.FromFile("factura_verifactu.pdf");

// Firma PAdES conforme a eIDAS
var firma = new PdfSignature(certificado);
firma.SigningContact = "facturacion@empresa.es";
firma.SigningLocation = "España";
firma.SigningReason = "Factura electrónica VeriFactu - TicketBAI";

pdf.Sign(firma);
pdf.SaveAs("factura_firmada_ticketbai.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Cargar certificado FNMT (Fábrica Nacional de Moneda y Timbre)
// o certificado de entidad acreditada bajo eIDAS
var certificado = new X509Certificate2(
    "certificado_fnmt.pfx", 
    "contraseña_certificado",
    X509KeyStorageFlags.Exportable);

var pdf = PdfDocument.FromFile("factura_verifactu.pdf");

// Firma PAdES conforme a eIDAS
var firma = new PdfSignature(certificado);
firma.SigningContact = "facturacion@empresa.es";
firma.SigningLocation = "España";
firma.SigningReason = "Factura electrónica VeriFactu - TicketBAI";

pdf.Sign(firma);
pdf.SaveAs("factura_firmada_ticketbai.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates

' Cargar certificado FNMT (Fábrica Nacional de Moneda y Timbre)
' o certificado de entidad acreditada bajo eIDAS
Dim certificado As New X509Certificate2(
    "certificado_fnmt.pfx",
    "contraseña_certificado",
    X509KeyStorageFlags.Exportable)

Dim pdf As PdfDocument = PdfDocument.FromFile("factura_verifactu.pdf")

' Firma PAdES conforme a eIDAS
Dim firma As New PdfSignature(certificado)
firma.SigningContact = "facturacion@empresa.es"
firma.SigningLocation = "España"
firma.SigningReason = "Factura electrónica VeriFactu - TicketBAI"

pdf.Sign(firma)
pdf.SaveAs("factura_firmada_ticketbai.pdf")
$vbLabelText   $csharpLabel

Facturae 3.2.2 embebido en PDF/A-3 para FACe

La plataforma FACe (B2G) requiere Facturae XML adjunto a un contenedor PDF/A-3 conforme con EN 16931 y la implementación española CIUS-ES:

using IronPdf;
using System.IO;

var pdf = PdfDocument.FromFile("factura_base.pdf");

// Adjuntar Facturae XML como archivo embebido (PDF/A-3 permite adjuntos)
byte[] facturaeXml = File.ReadAllBytes("factura_facturae_3_2_2.xml");
pdf.EmbedFile(facturaeXml, "factura.xml", "application/xml");

// Convertir a PDF/A-3 para cumplimiento FACe / Crea y Crece
pdf.SaveAsPdfA("factura_face_pdfa3.pdf", PdfAVersions.PdfA3);
using IronPdf;
using System.IO;

var pdf = PdfDocument.FromFile("factura_base.pdf");

// Adjuntar Facturae XML como archivo embebido (PDF/A-3 permite adjuntos)
byte[] facturaeXml = File.ReadAllBytes("factura_facturae_3_2_2.xml");
pdf.EmbedFile(facturaeXml, "factura.xml", "application/xml");

// Convertir a PDF/A-3 para cumplimiento FACe / Crea y Crece
pdf.SaveAsPdfA("factura_face_pdfa3.pdf", PdfAVersions.PdfA3);
Imports IronPdf
Imports System.IO

Dim pdf = PdfDocument.FromFile("factura_base.pdf")

' Adjuntar Facturae XML como archivo embebido (PDF/A-3 permite adjuntos)
Dim facturaeXml As Byte() = File.ReadAllBytes("factura_facturae_3_2_2.xml")
pdf.EmbedFile(facturaeXml, "factura.xml", "application/xml")

' Convertir a PDF/A-3 para cumplimiento FACe / Crea y Crece
pdf.SaveAsPdfA("factura_face_pdfa3.pdf", PdfAVersions.PdfA3)
$vbLabelText   $csharpLabel

Diferencias de integración en el entorno .NET

Más allá del riesgo regulatorio, la diferencia arquitectónica entre Ghostscript GPL e IronPDF es determinante para la productividad del equipo:

Aspecto Ghostscript GPL IronPDF
API Conmutadores de cadena de texto, generación de procesos API .NET tipificada, IntelliSense
HTML a PDF No soportado nativamente Motor Chromium integrado
Firma digital Fuera del alcance PAdES / firma digital nativa
Gestión de errores Parseo de stderr Excepciones .NET estándar
Dependencias externas gsdll32.dll / gsdll64.dll Paquete NuGet autónomo
Thread-safety Solo aislamiento de procesos Thread-safe por diseño
Soporte async Basado en procesos async/await nativo
Compatibilidad .NET Soporte limitado .NET 6/7/8/9 completo
Despliegue Configurar PATH + DLL Solo referencia NuGet
Licencia AGPL (copyleft viral) o Artifex comercial Comercial predecible

La complejidad de la interfaz de línea de comandos de Ghostscript GPL es especialmente problemática en pipelines de facturación de alto volumen donde se generan miles de documentos por hora: cada operación genera un proceso separado, añadiendo latencia y complejidad de gestión de recursos.

// Patrón Ghostscript GPL: frágil, sin IntelliSense, errores en stderr
List<string> switches = new List<string>
{
    "-dNOPAUSE", "-dBATCH", "-dSAFER",
    "-sDEVICE=pdfwrite",
    $"-sOutputFile={outputPdf}"
};
processor.Process(switches.ToArray());
// ¿Funcionó? Hay que parsear stderr...

// Patrón IronPDF: tipado, excepciones estándar, IntelliSense
var pdf = renderer.RenderHtmlAsPdf(htmlFactura);
pdf.SaveAs(outputPdf); // Excepción .NET si falla
// Patrón Ghostscript GPL: frágil, sin IntelliSense, errores en stderr
List<string> switches = new List<string>
{
    "-dNOPAUSE", "-dBATCH", "-dSAFER",
    "-sDEVICE=pdfwrite",
    $"-sOutputFile={outputPdf}"
};
processor.Process(switches.ToArray());
// ¿Funcionó? Hay que parsear stderr...

// Patrón IronPDF: tipado, excepciones estándar, IntelliSense
var pdf = renderer.RenderHtmlAsPdf(htmlFactura);
pdf.SaveAs(outputPdf); // Excepción .NET si falla
' Patrón Ghostscript GPL: frágil, sin IntelliSense, errores en stderr
Dim switches As New List(Of String) From {
    "-dNOPAUSE", "-dBATCH", "-dSAFER",
    "-sDEVICE=pdfwrite",
    $"-sOutputFile={outputPdf}"
}
processor.Process(switches.ToArray())
' ¿Funcionó? Hay que parsear stderr...

' Patrón IronPDF: tipado, excepciones estándar, IntelliSense
Dim pdf = renderer.RenderHtmlAsPdf(htmlFactura)
pdf.SaveAs(outputPdf) ' Excepción .NET si falla
$vbLabelText   $csharpLabel

Mapeo de operaciones equivalentes

Para equipos que evalúan la transición, esta tabla relaciona operaciones comunes:

Operación Ghostscript GPL IronPDF
GhostscriptProcessor Generación de procesos PdfDocument + métodos
GhostscriptRasterizer Rasterización página a página pdf.ToBitmap() / RasterizeToImageFiles()
-sDEVICE=pdfwrite Varios métodos PDF PdfDocument
-sDEVICE=png16m Salida PNG RasterizeToImageFiles("*.png")
-sOutputFile=X Archivo de salida SaveAs("X")
-r300 Parámetro DPI Parámetro DPI en métodos
-sOwnerPassword=X Cifrado pdf.SecuritySettings.OwnerPassword
Sin equivalente Firma PAdES PdfSignature con eIDAS
Sin equivalente PDF/A-3 con adjuntos SaveAsPdfA3() + EmbedFile()

Protección de datos LOPDGDD en el pipeline de facturación

Las facturas contienen datos personales sujetos a la LOPDGDD (la adaptación española del RGPD) y a la supervisión de la AEPD. El pipeline de generación de PDF debe garantizar:

  • Cifrado en reposo de los documentos generados
  • Control de acceso por roles a los PDF firmados
  • Registros de auditoría de las operaciones de firma (quién firmó, cuándo, con qué certificado)
  • Retención según plazos fiscales y destrucción segura al vencimiento

IronPDF proporciona SecuritySettings para cifrado y PdfSignature con trazabilidad; la integración de ambos en un pipeline LOPDGDD-conforme es más directa que con la gestión de procesos externos de Ghostscript GPL.

Cuándo usar Ghostscript GPL y cuándo IronPDF en el mercado español

Ghostscript GPL puede ser adecuado cuando:

  • El proyecto es de código abierto y no hay objeción a publicar el código fuente bajo AGPL
  • No se requiere HTML a PDF: el pipeline trabaja exclusivamente con PostScript o PDF existentes
  • No se emiten facturas bajo VeriFactu, TicketBAI o Facturae; el procesamiento PDF es puramente interno
  • Se dispone de licencia comercial Artifex y la inversión adicional está justificada

IronPDF es la elección apropiada para ISVs españoles cuando:

  • El producto incluye software de facturación sujeto al régimen VeriFactu/TicketBAI/Facturae
  • Se requiere HTML a PDF para plantillas de factura editables por el equipo contable
  • La firma PAdES o la generación de documentos firmados eIDAS forma parte del pipeline
  • El modelo de negocio es propietario (SaaS o distribución de software) y la AGPL es incompatible
  • Se necesita threading seguro para generación de facturas de alto volumen (SII: miles de facturas en tiempo real)

Evaluación de la complejidad de transición

Para ISVs que ya usan Ghostscript GPL y evalúan la migración bajo presión de cumplimiento VeriFactu:

Operación Complejidad de migración
PDF a imágenes Baja
Fusionar PDFs Baja
Comprimir PDF Baja
PostScript a PDF Media
Optimización PDF Baja
Cifrado/protección Media
Conversión PDF/A Baja
HTML a PDF (nuevo) Baja — funcionalidad nueva, no migración
Firma PAdES (nuevo) Media — certificado + integración eIDAS

El mayor riesgo en la migración no es técnico sino cronológico: si el ISV necesita certificar su software para VeriFactu antes de enero de 2027, la migración a un componente con soporte nativo de PDF/A-3, firma digital y HTML a PDF reduce el trabajo de integración respecto a construir estas capacidades sobre Ghostscript GPL.

Conclusión

Para un ISV español que construye software de facturación bajo el régimen VeriFactu, la comparación entre Ghostscript GPL e IronPDF no es solo una evaluación técnica: es una evaluación de riesgo regulatorio. La AGPL de Ghostscript GPL impone la divulgación del código fuente sobre el componente que genera las facturas con VERI*FACTU, firma los documentos para TicketBAI bajo eIDAS con certificados FNMT, y produce los Facturae 3.2.2 para FACe.

IronPDF ofrece una alternativa nativa .NET con licencia comercial predecible, HTML a PDF vía Chromium, firma PAdES, soporte PDF/A-3 y threading seguro para volúmenes compatibles con el SII. La ausencia de la obligación copyleft simplifica directamente el análisis de cumplimiento VeriFactu del ISV.

Evalúe IronPDF con una prueba sin coste y consulte la documentación en español para verificar la compatibilidad con su arquitectura de facturación.

Por favor notaGhostscript es una marca registrada de sus respectivos propietarios. Este sitio no está afiliado, respaldado ni patrocinado por Artifex Software. Todas las comparaciones son a título informativo y reflejan información públicamente disponible en el momento de su publicación. IronPDF es un componente que se integra dentro de aplicaciones de facturación; no es en sí mismo un sistema de facturación certificado bajo VeriFactu.

Preguntas Frecuentes

¿Por qué Ghostscript GPL representa un riesgo específico para ISVs de facturación españoles?

Ghostscript GPL usa licencia AGPL, que obliga a publicar el código fuente si se distribuye el software o se presta como servicio. En España, esta obligación se intersecta con VeriFactu (RDL 15/2025): el ISV que distribuye software de facturación con iText/Ghostscript AGPL sin licencia comercial acumula riesgo copyleft y riesgo de sanción AEAT (hasta €150.000/año) sobre el mismo componente.

¿IronPDF es un sistema de facturación certificado VeriFactu?

No. IronPDF es un componente que se integra dentro del software de facturación del ISV. La certificación VeriFactu es responsabilidad del sistema completo.

¿Puede Ghostscript GPL generar PDFs con la leyenda VERI*FACTU?

Ghostscript GPL no soporta HTML nativo — requiere conversión previa a PostScript. La leyenda VERI*FACTU y el QR AEAT se pueden añadir mediante construcción manual, pero con mayor complejidad que con el motor Chromium de IronPDF que renderiza plantillas HTML directamente.

¿IronPDF soporta firma PAdES con certificados FNMT para TicketBAI?

Sí. IronPDF proporciona PdfSignature con soporte para X509Certificate2, compatible con certificados FNMT y otras CAs acreditadas bajo eIDAS. La firma PAdES resultante es válida para TicketBAI en Bizkaia (BATUZ), Gipuzkoa y Araba.

¿IronPDF soporta PDF/A-3 para Facturae y Crea y Crece?

Sí. IronPDF incluye SaveAsPdfA() con soporte para PDF/A-3B y EmbedFile() para adjuntar el XML Facturae 3.2.2. Es el formato requerido para FACe (B2G) y el archivado bajo Crea y Crece (EN 16931/CIUS-ES).

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame