Una alternativa al Ghostscript que puede incluir en software de código cerrado
Convierta PostScript, EPS y XPS a PDF e imágenes desde una biblioteca .NET administrada sin obligaciones binarias o copyleft de convertidor nativo.
Necesita convertir archivos PostScript, EPS o XPS dentro de su producto. Las herramientas de Artifex lo hacen bien y se pueden descargar sin coste: Ghostscript interpreta PostScript y EPS, y GhostXPS se encarga de XPS. Entonces su equipo jurídico lee la licencia y el proyecto se detiene.
Esta página explica cuál es la restricción de la licencia, cuáles son sus opciones (incluidas las que no nos involucran) y cómo migrar si Aspose.Page es la opción adecuada.
Aspose.Page es una biblioteca .NET comercial para conversión y renderizado. Está diseñado para la redistribución en aplicaciones de código cerrado sin requerir una instalación nativa Ghostscript.
Lo que realmente requiere la licencia
Ghostscript tiene doble licencia bajo la Licencia pública general GNU Affero v3 desde la versión 9.07 en febrero de 2013. Antes de eso, era GPL v3. Artifex Software posee los derechos de autor y vende una licencia comercial como alternativa al cumplimiento de AGPL. La misma licencia dual abarca el árbol de código fuente más amplio de GhostPDL, que incluye el intérprete GhostXPS, por lo que procesar XPS en lugar de PostScript no cambia la cuestión de la licencia.
La disposición copyleft de AGPL puede requerir que el código fuente correspondiente completo de un trabajo derivado se publique bajo AGPL. También se extiende al software ofrecido a los usuarios a través de una red, por lo que un producto SaaS que nunca envía un binario no queda automáticamente fuera de su alcance.
El matiz que importa: vincular versus desembolsar
Una posición común es que invocar `gs` como un proceso separado evita el copyleft porque la aplicación no está vinculada a la biblioteca. Este es un territorio genuinamente disputado. Las orientaciones difieren sobre si el límite del proceso es decisivo o si la intimidad de la comunicación y el diseño del programa combinado importan más.
No somos sus abogados y esta página no es asesoramiento legal. Su equipo legal debe evaluar cómo se construye, ofrece y distribuye su producto. Para muchos equipos, la incertidumbre misma es un costo que no están dispuestos a asumir.
Jurisprudencia
En *Artifex Software, Inc. v. Hancom, Inc.*, Artifex alegó que Hancom había incorporado Ghostscript con licencia GPL en Hancom Office sin comprar una licencia comercial ni cumplir con los requisitos de divulgación de fuente de GPL.
En 25 April 2017, el U.S. District Court for the Northern District of California denegó la moción de desestimación de Hancom. El fallo permitió a Artifex proceder tanto por incumplimiento de contrato como por infracción de derechos de autor. Las partes llegaron a un acuerdo en diciembre de 2017.
El significado es limitado: una licencia de código abierto es exigible. El fallo no decide que toda invocación de integración o proceso separado cree una obra derivada.
Tus opciones
Hay tres caminos honestos y sólo uno de ellos nos involucra.
1. Compre una licencia comercial de Artifex
Artifex vende una licencia comercial para que las empresas puedan utilizar Ghostscript en productos de código cerrado. Esta es una ruta legítima y compatible y probablemente sea la opción correcta cuando depende del conjunto completo de capacidades de Ghostscript.
Elija esto si: utiliza Ghostscript como un intérprete PostScript completo o PDF o RIP, incluidas separaciones de color, dispositivos de impresión, entrada PDF o flujos de trabajo complejos RIP.
2. Reemplace el componente
Si el requisito es más limitado (convertir archivos PS, EPS o XPS a PDF o imágenes), una biblioteca comercial especialmente diseñada puede cubrirlo sin la misma pregunta sobre la licencia.
Elija esto si: su uso es conversión y renderizado, y prefiere un paquete NuGet administrado a un binario nativo en cada implementación.
3. Elimina la función
Si la conversión de formato es una comodidad que rara vez se utiliza, eliminarla puede costar menos que cualquiera de las licencias.
Elija esto si: la característica no es lo suficientemente importante como para justificar una licencia comercial o una migración.
Dónde encaja Aspose.Page y dónde no
Aspose.Page es una buena opción si necesita:
- Convierta archivos PostScript (PS) y EPS a PDF.
- Convierta documentos XPS y OXPS a PDF.
- Renderice cualquiera de esos formatos a PNG, JPEG, TIFF o BMP.
- Fusione varios documentos PS o XPS.
- Cree y edite documentos XPS mediante programación.
- Lea y escriba metadatos XMP en archivos EPS.
- Recorte, cambie el tamaño y transforme archivos EPS.
- Ejecute la conversión dentro de un producto comercial, servidor, contenedor o función sin servidor de código cerrado.
Aspose.Page es la herramienta equivocada si necesita:
- Un intérprete PostScript completo o RIP con control a nivel de dispositivo.
- Archivos PDF como entrada: utilice Aspose.PDF , que es un producto diferente.
- CMYK separaciones de color o salida de dispositivo de impresión de calidad de preimpresión.
- El comportamiento del destilador
pdfwritede Ghostscript se reprodujo exactamente.
Si se encuentra en la segunda lista, la licencia comercial de Artifex es la mejor opción. Costará menos que una migración que no pueda alcanzar la paridad.
Lo que te cuesta un conversor nativo en un contenedor
Cada ruta a Ghostscript desde .NET (`Ghostscript.NET`, P/Invoke directo o invocación de `gs` como proceso) termina con el binario nativo y sus bibliotecas compartidas en la imagen. Eso crea un trabajo operativo continuo:
- Tamaño de imagen. Usted envía un intérprete, no solo un convertidor.
- Parche CVE. Las vulnerabilidades Ghostscript se convierten en parte de su cadencia de parcheo y reconstrucción.
- Bloqueo de imagen base. Las compilaciones nativas y las bibliotecas compartidas limitan qué imágenes base puedes usar; Las compilaciones glibc y musl no son intercambiables.
- Deriva del entorno. Las máquinas de desarrollo, los ejecutores de CI y los hosts de producción deben tener versiones nativas compatibles.
- Plan de consumo de Azure Functions. Los paquetes nativos no se pueden instalar allí, lo que supone una parada difícil más que un inconveniente de implementación. Consulte la guía técnica para Docker y la implementación sin servidor .
Una biblioteca administrada elimina esas preocupaciones al convertidor nativo. Aún debe empaquetar y configurar las fuentes requeridas por sus documentos.
Ghostscript versus Aspose.Page para .NET
- Licencia — Ghostscript: AGPL v3, o comercial de Artifex. Aspose.Page: solo comercial.
- Divulgación de fuente — Ghostscript: requerido cuando se aplica AGPL. Aspose.Page: no requerido.
- Red y SaaS — Ghostscript: el uso de la red está dentro del alcance de AGPL. Aspose.Page: la implementación comercial está cubierta por la licencia adquirida.
- Implementación — Ghostscript: binario C nativo. Aspose.Page: biblioteca .NET administrada sin convertidor binario nativo.
- Integración .NET — Ghostscript: invocación de proceso o un contenedor como
Ghostscript.NET. Aspose.Page: Paquete NuGet y API directa. - Implementación: Ghostscript: instale o combine las bibliotecas binarias y compartidas nativas. Aspose.Page: empaqueta los ensamblados administrados con la aplicación.
- Formatos de entrada — Ghostscript: PS, EPS, PDF y otros; XPS necesita GhostXPS, un intérprete independiente del mismo árbol de GhostPDL. Aspose.Page: PS, EPS, XPS y OXPS en una sola biblioteca.
- Salida — Ghostscript: PDF más una amplia gama de dispositivos de impresión y ráster. Aspose.Page: PDF, PNG, JPEG, TIFF y BMP.
- Alcance — Ghostscript: intérprete completo y RIP. Aspose.Page: conversión, renderizado y manipulación de documentos.
- Precios — Ghostscript: Artifex cotiza el precio comercial. Aspose.Page: niveles publicados de US$599.
Migración
PostScript o EPS a PDF
Conversión de C# que reemplaza el comando pdfwrite `gs`
using System;
using Aspose.Page.EPS;
using Aspose.Page.EPS.Device;
PsDocument document = new PsDocument("input.ps");
PdfSaveOptions options = new PdfSaveOptions(true);
options.AdditionalFontsFolders = new string[] { @"C:\MyFonts" };
document.SaveAsPdf("output.pdf", options);
foreach (Exception ex in options.Exceptions)
{
Console.WriteLine(ex.Message);
}Reemplaza: `gs -sDEVICE=pdfwrite -o output.pdf input.ps`
PostScript o EPS a imágenes
Conversión de C# que reemplaza el comando `gs` png16m
using System.IO;
using Aspose.Page.EPS;
using Aspose.Page.EPS.Device;
PsDocument document = new PsDocument("input.ps");
ImageSaveOptions options = new ImageSaveOptions();
options.ImageFormat = Aspose.Page.Drawing.Imaging.ImageFormat.Png;
byte[][] imagesBytes = document.SaveAsImagesBytes(options);
for (int i = 0; i < imagesBytes.Length; i++)
{
File.WriteAllBytes("page_" + i + ".png", imagesBytes[i]);
}
// One byte array is returned for each page.Reemplaza: `gs -sDEVICE=png16m -o page_%d.png input.ps`
XPS a PDF
Conversión de C# XPS a PDF
using System.IO;
using Aspose.Page.XPS;
using Aspose.Page.XPS.Presentation.Pdf;
using (Stream pdfStream = File.Open("output.pdf", FileMode.Create, FileAccess.Write))
{
XpsDocument document = new XpsDocument("input.xps");
PdfSaveOptions options = new PdfSaveOptions
{
JpegQualityLevel = 100,
ImageCompression = PdfImageCompression.Jpeg,
TextCompression = PdfTextCompression.Flate
};
document.SaveAsPdf(pdfStream, options);
}
// gs does not read XPS; the Artifex equivalent is gxps.`gs` no lee XPS. El equivalente de Artifex es `gxps` de GhostPDL, bajo la misma licencia dual.
¿Qué licencia necesitas?
Estos precios publicados se verificaron el 26 de octubre de 2026. Confirme los precios actuales en la [Aspose.Page para la página de precios de .NET](https://purchase.aspose.com/pricing/page/net).
- Herramienta interna, un desarrollador y una ubicación de implementación: Developer Small Business — US$599.
- Integrado en un producto distribuido a los clientes o en una aplicación web pública: Developer OEM — US$1,797.
- Distribuido como parte de un SDK o API que usted vende: Developer SDK — US$11,980.
- Implementación de un equipo o de una organización más amplia: Las licencias de sitio están disponibles; consulte la página de precios.
Para un reemplazo Ghostscript enviado dentro de un producto comercial o una aplicación web pública, Developer OEM suele ser el nivel correcto. Cubre un desarrollador, ubicaciones de implementación ilimitadas y distribución externa.
Las licencias perpetuas incluyen un año de actualizaciones, con renovación con descuento disponible.
Pruébalo antes de comprometerte
Los resultados de evaluación sin licencia llevan una marca de agua. Una licencia temporal gratuita de 30 días elimina los límites de evaluación para que pueda probar sus propios archivos antes de comprarlos.
- Solicitar una licencia temporal
- Descargar Aspose.Page desde NuGet
- Leer la documentación
- Buscar ejemplos de trabajo en GitHub
Traiga su archivo PostScript más difícil. Si no se convierte correctamente, es mejor averiguarlo durante la evaluación que después de la compra.