Une alternative au Ghostscript que vous pouvez expédier dans un logiciel à code source fermé

Convertissez PostScript, EPS et XPS en PDF et des images à partir d’une bibliothèque .NET gérée sans obligations binaires de convertisseur natif ni de copyleft.

 

Vous devez convertir des fichiers PostScript, EPS ou XPS dans votre produit. Les outils Artifex le font bien et leur téléchargement est gratuit : Ghostscript interprète PostScript et EPS, tandis que GhostXPS prend en charge XPS. Votre équipe juridique lit ensuite la licence et le projet s'arrête.

Cette page explique quelle est la contrainte de licence, quelles sont vos options (y compris celles qui ne nous impliquent pas) et comment migrer si Aspose.Page est la bonne solution.

Aspose.Page est une bibliothèque commerciale .NET pour la conversion et le rendu. Il est conçu pour la redistribution dans des applications fermées sans nécessiter une installation native Ghostscript.

Ce qu'exige réellement la licence

Ghostscript bénéficie d'une double licence sous la licence publique générale GNU Affero v3 depuis la version 9.07 en février 2013. Avant cela, il s'agissait de GPL v3. Artifex Software détient les droits d'auteur et vend une licence commerciale comme alternative à la conformité AGPL. La même double licence couvre l'arborescence source GhostPDL plus large, qui inclut l'interpréteur GhostXPS ; le traitement de XPS plutôt que de PostScript ne change donc pas la question de la licence.

La disposition copyleft du AGPL peut exiger que le code source complet correspondant d'une œuvre dérivée soit publié sous le AGPL. Il s'étend également aux logiciels proposés aux utilisateurs sur un réseau, de sorte qu'un produit SaaS qui ne livre jamais de binaire n'est pas automatiquement hors de son champ d'application.

La nuance qui compte : créer des liens ou débourser

Une position courante est que l'invocation de `gs` en tant que processus distinct évite le copyleft car l'application n'est pas liée à la bibliothèque. Il s’agit d’un territoire véritablement contesté. Les orientations diffèrent selon que les limites du processus sont décisives ou si l'intimité de la communication et la conception du programme combiné importent davantage.

Nous ne sommes pas vos avocats et cette page ne constitue pas un conseil juridique. Votre équipe juridique doit évaluer la manière dont votre produit est construit, proposé et distribué. Pour de nombreuses équipes, l’incertitude en elle-même constitue un coût qu’elles ne sont pas disposées à supporter.

Jurisprudence

Dans l'affaire *Artifex Software, Inc. v. Hancom, Inc.*, Artifex a allégué que Hancom avait incorporé le GPL sous licence Ghostscript dans Hancom Office sans acheter de licence commerciale ni se conformer aux exigences de divulgation des sources du GPL.

Sur le 25 April 2017, le U.S. District Court for the Northern District of California a rejeté la requête en rejet de Hancom. La décision a permis à Artifex de poursuivre à la fois la rupture de contrat et la violation du droit d'auteur. Les parties se sont réglées en décembre 2017.

La signification est étroite : une licence open source est exécutoire. La décision ne décide pas que chaque intégration ou invocation de processus séparé crée une œuvre dérivée.

Vos options

Il existe trois voies honnêtes, et une seule d’entre elles nous implique.

1. Achetez une licence commerciale auprès d'Artifex

Artifex vend une licence commerciale afin que les entreprises puissent utiliser Ghostscript dans des produits à source fermée. Il s'agit d'un itinéraire légitime et pris en charge et constitue probablement le bon choix lorsque vous dépendez de l'ensemble des fonctionnalités du Ghostscript.

Choisissez ceci si : vous utilisez Ghostscript comme interpréteur PostScript complet ou PDF ou RIP, y compris les séparations de couleurs, les périphériques d'impression, l'entrée PDF ou les flux de travail complexes RIP.

2. Remplacez le composant

Si l'exigence est plus restreinte (conversion de fichiers PS, EPS ou XPS en PDF ou en images), une bibliothèque commerciale spécialement conçue peut la couvrir sans la même question de licence.

Choisissez ceci si : votre utilisation est la conversion et le rendu, et vous préférez un package NuGet géré à un binaire natif dans chaque déploiement.

3. Supprimez la fonctionnalité

Si la conversion de format est une commodité rarement utilisée, sa suppression peut coûter moins cher que l'une ou l'autre licence.

Choisissez ceci si : la fonctionnalité n'est pas suffisamment importante pour justifier une licence commerciale ou une migration.

Là où le Aspose.Page s’intègre – et là où il ne s’intègre pas

Le Aspose.Page convient parfaitement si vous avez besoin de :

  • Convertissez les fichiers PostScript (PS) et EPS en PDF.
  • Convertissez les documents XPS et OXPS en PDF.
  • Rendu n’importe lequel de ces formats au format PNG, JPEG, TIFF ou BMP.
  • Fusionnez plusieurs documents PS ou XPS.
  • Créez et modifiez des documents XPS par programmation.
  • Lisez et écrivez des métadonnées XMP dans des fichiers EPS.
  • Recadrez, redimensionnez et transformez les fichiers EPS.
  • Exécutez la conversion dans un produit commercial, un serveur, un conteneur ou une fonction sans serveur à code source fermé.

Aspose.Page n'est pas le bon outil si vous avez besoin de :

  • Un interpréteur PostScript complet ou RIP avec contrôle au niveau de l’appareil.
  • Fichiers PDF en entrée : utilisez Aspose.PDF , qui est un produit différent.
  • CMYK Séparations de couleurs ou sortie sur périphérique d’impression de qualité prépresse.
  • Le comportement du distillateur Ghostscript du pdfwrite est reproduit exactement.

Si vous figurez dans la deuxième liste, la licence commerciale Artifex est la meilleure solution. Cela coûtera moins cher qu’une migration qui ne peut atteindre la parité.

Ce que vous coûte un convertisseur natif dans un conteneur

Chaque route vers Ghostscript à partir de .NET — `Ghostscript.NET`, P/Invoke direct ou invocation de `gs` en tant que processus — se termine par le binaire natif et ses bibliothèques partagées dans l'image. Cela crée un travail opérationnel continu :

  • Taille de l’image. Vous expédiez un interprète, pas seulement un convertisseur.
  • Correction corrective CVE. Les vulnérabilités Ghostscript font partie de votre cadence de correction et de reconstruction.
  • Verrouillage de l’image de base. Les versions natives et les bibliothèques partagées limitent les images de base que vous pouvez utiliser ; Les versions glibc et musl ne sont pas interchangeables.
  • Dérive de l’environnement. Les machines de développement, les exécuteurs CI et les hôtes de production doivent transporter des versions natives compatibles.
  • Plan de consommation Azure Functions. Les packages natifs ne peuvent pas y être installés, ce qui constitue un arrêt brutal plutôt qu’un inconvénient de déploiement. Consultez le guide technique pour le déploiement Docker et sans serveur .

Une bibliothèque gérée supprime le convertisseur natif de ces problèmes. Vous devez toujours empaqueter et configurer les polices requises par vos documents.

Ghostscript versus Aspose.Page pour .NET

  • Licence — Ghostscript : AGPL v3 ou commercial d’Artifex. Aspose.Page : commercial uniquement.
  • Divulgation de la source — Ghostscript : requis lorsque le AGPL s’applique. Aspose.Page : non requis.
  • Réseau et SaaS — Ghostscript : l’utilisation du réseau relève du périmètre AGPL. Aspose.Page : le déploiement commercial est couvert par la licence achetée.
  • Implémentation — Ghostscript : binaire C natif. Aspose.Page : bibliothèque .NET gérée sans convertisseur binaire natif.
  • Intégration .NET — Ghostscript : appel de processus ou un wrapper tel que Ghostscript.NET. Aspose.Page : package NuGet et API directe.
  • Déploiement — Ghostscript : installez ou regroupez les bibliothèques binaires natives et partagées. Aspose.Page : packagez les assemblys gérés avec l’application.
  • Formats d’entrée — Ghostscript : PS, EPS, PDF et autres ; XPS nécessite GhostXPS, un interpréteur distinct issu de la même arborescence GhostPDL. Aspose.Page : PS, EPS, XPS et OXPS dans une seule bibliothèque.
  • Sortie — Ghostscript : PDF ainsi qu’une large gamme de périphériques raster et d’impression. Aspose.Page : PDF, PNG, JPEG, TIFF et BMP.
  • Portée — Ghostscript : interprète complet et RIP. Aspose.Page : conversion, rendu et manipulation de documents.
  • Tarif — Ghostscript : les prix commerciaux sont indiqués par Artifex. Aspose.Page : niveaux publiés à partir de US$599.

Migration

PostScript ou EPS vers PDF

Conversion C# remplaçant la commande 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);
}

Remplace : `gs -sDEVICE=pdfwrite -o output.pdf input.ps`

PostScript ou EPS vers des images

Conversion C# remplaçant la commande `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.

Remplace : `gs -sDEVICE=png16m -o page_%d.png input.ps`

XPS à PDF

Conversion C# XPS en 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` ne lit pas XPS. L'équivalent Artifex est `gxps` de GhostPDL, sous la même double licence.

De quelle licence avez-vous besoin ?

Ces prix publiés ont été vérifiés le 26 octobre 2026. Confirmez les prix actuels sur la [Page de tarification Aspose.Page pour .NET](https://purchase.aspose.com/pricing/page/net).

  • Outil interne, un développeur et un emplacement de déploiement : Developer Small Business — US$599.
  • Intégré dans un produit distribué aux clients ou dans une application Web publique : Developer OEM — US$1,797.
  • Distribué dans le cadre d’un SDK ou d’une API que vous vendez : Developer SDK — US$11,980.
  • Déploiement d’une équipe ou d’une organisation plus large : Des licences de site sont disponibles ; voir la page des tarifs.

Pour un remplacement Ghostscript expédié dans un produit commercial ou une application Web publique, Developer OEM est normalement le bon niveau. Il couvre un développeur, des emplacements de déploiement illimités et une distribution externe.

Les licences perpétuelles incluent un an de mises à jour, avec un renouvellement à prix réduit disponible.

Essayez-le avant de vous engager

Les résultats d’évaluation sans licence portent un filigrane. Une licence temporaire gratuite de 30 jours supprime les limites d'évaluation afin que vous puissiez tester vos propres fichiers avant d'acheter.

Apportez votre fichier PostScript le plus difficile. S'il ne se convertit pas correctement, il est préférable de le découvrir lors de l'évaluation plutôt qu'après l'achat.