IRONSOFTWAREHOME
COMPARACIONES DE PRODUCTOS

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

Curtis Chau
Curtis Chau
Updated: 5 de julio de 2026

Las aplicaciones empresariales que generan PDF a partir de HTML a menudo se ejecutan dentro de redes restringidas sin una ruta directa a Internet. El problema surge en el momento del renderizado: una factura o plantilla de informe referencia un logotipo, fuente web o hoja de estilo alojados en un CDN externo, y dentro de la red corporativa esas solicitudes fallan silenciosamente. El documento sale sin estilo, con imágenes rotas y fuentes faltantes. Direccionar el motor de renderizado a través del proxy de la empresa soluciona esto, y IronPDF acepta un proxy directamente en su llamada de renderizado.

El problema empresarial

Una aplicación financiera, de salud o de seguros produce documentos para clientes a partir de plantillas web. Esas plantillas extraen activos externos, pero el servidor está detrás de un cortafuegos y un proxy. Sin la configuración del proxy, el motor no puede acceder a los activos, por lo que el resultado parece roto. Muchos de estos entornos también ejecutan proxies autenticados, lo que agrega credenciales al requisito.

La solución

El proxy es un parámetro en el método RenderHtmlAsPdf, no una propiedad en las opciones de renderizado. Pasar una cadena de proxy enruta todas las solicitudes de activos del motor a través de ese proxy.

using IronPdf;

var renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf(
    htmlContent,
    baseUrlOrPath: @"C:\templates\assets\",
    proxy: "http://proxy.co/rp.local:8080"
);
pdf.SaveAs("report.pdf");
C#

Para un proxy autenticado, las credenciales van en la URL del proxy. Los caracteres especiales en la contraseña deben ser codificados en porcentaje.

string encoded = Uri.EscapeDataString("P@ssw0rd!");
string proxy = $"http://svc-account:{encoded}@proxy.co/rp.local:8080";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent, baseUrlOrPath: null, proxy: proxy);
C#

Renderizando URLs internas detrás de un proxy

El método de renderizado de URL no acepta un parámetro de proxy. El patrón práctico es obtener el HTML con un HttpClient configurado para el proxy, luego renderizar ese HTML para que los activos referenciados también se ruteen a través del proxy.

using System.Net;
using System.Net.Http;

var webProxy = new WebProxy("http://proxy.co/rp.local:8080")
{
    Credentials = new NetworkCredential("svc-account", "P@ssw0rd!")
};
var handler = new HttpClientHandler { Proxy = webProxy, UseProxy = true };
using var httpClient = new HttpClient(handler);

string html = await httpClient.GetStringAsync("https://dashboard.internal.co/rp/report");
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, baseUrlOrPath: null, proxy: "http://proxy.co/rp.local:8080");
C#

Puntos a planificar

  • La autenticación del proxy no es autenticación de la página: Las credenciales en la URL del proxy autentican contra el proxy, lo que difiere de las credenciales de inicio de sesión del sitio web.
  • El esquema se refiere al salto del proxy: Un proxy http:// aún puede acceder a recursos https://, por lo que la elección del esquema trata sobre si la conexión de la aplicación al proxy necesita TLS.
  • Contenedores y canalizaciones: Las implementaciones de Docker y los agentes de construcción de CI usualmente no tienen salida, por lo que la misma configuración de proxy se aplica allí.

Resultado

Con un solo parámetro, los equipos obtienen PDFs completamente estilizados y con marca de las aplicaciones que se ejecutan detrás de un proxy corporativo, incluyendo entornos autenticados y contenedores. Los detalles de configuración completa están en la guía de proxies.

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 estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta