Un’alternativa Ghostscript che puoi fornire come software closed source
Converti PostScript, EPS e XPS in PDF e immagini da una libreria .NET gestita senza obblighi di conversione binaria o copyleft nativi.
È necessario convertire file PostScript, EPS o XPS all'interno del prodotto. Gli strumenti Artifex lo fanno bene e possono essere scaricati gratuitamente: Ghostscript interpreta PostScript ed EPS, mentre GhostXPS gestisce XPS. Poi il team legale legge la licenza e il progetto si ferma.
Questa pagina spiega qual è il vincolo di licenza, quali sono le opzioni a tua disposizione, comprese quelle che non ci coinvolgono, e come eseguire la migrazione se Aspose.Page è la soluzione giusta.
Aspose.Page è una libreria .NET commerciale per la conversione e il rendering. È progettato per la ridistribuzione in applicazioni closed source senza richiedere un'installazione nativa Ghostscript.
Cosa richiede effettivamente la licenza
Ghostscript dispone di doppia licenza GNU Affero General Public License v3 a partire dalla versione 9.07 di febbraio 2013. Prima era GPL v3. Artifex Software possiede il copyright e vende una licenza commerciale come alternativa alla conformità AGPL. La stessa doppia licenza copre l'albero sorgente GhostPDL più ampio, che include l'interprete GhostXPS, pertanto la gestione di XPS anziché PostScript non cambia la questione della licenza.
La disposizione copyleft di AGPL può richiedere che il codice sorgente completo corrispondente di un'opera derivata venga rilasciato sotto AGPL. Si estende anche al software offerto agli utenti su una rete, quindi un prodotto SaaS che non spedisce mai un binario non è automaticamente fuori dal suo ambito.
La sfumatura che conta: collegare o sborsare
Una posizione comune è che invocare `gs` come processo separato evita il copyleft perché l'applicazione non è collegata alla libreria. Questo è veramente un territorio conteso. Le linee guida differiscono a seconda che il confine del processo sia decisivo o che siano più importanti l’intimità della comunicazione e la progettazione del programma combinato.
Non siamo i tuoi avvocati e questa pagina non costituisce una consulenza legale. Il tuo team legale deve valutare come il tuo prodotto viene costruito, offerto e distribuito. Per molti team, l’incertezza stessa è un costo che non sono disposti a sostenere.
Giurisprudenza
Nel caso *Artifex Software, Inc. v. Hancom, Inc.*, Artifex ha affermato che Hancom aveva incorporato Ghostscript con licenza GPL in Hancom Office senza acquistare una licenza commerciale o rispettare i requisiti di divulgazione della fonte di GPL.
Su 25 April 2017, U.S. District Court for the Northern District of California ha respinto la mozione di archiviazione di Hancom. La sentenza ha consentito ad Artifex di procedere sia per inadempimento contrattuale che per violazione del diritto d'autore. Le parti si sono accordate nel dicembre 2017.
Il significato è ristretto: una licenza open source è applicabile. La sentenza non stabilisce che ogni integrazione o invocazione di un processo separato crei un'opera derivata.
Le tue opzioni
Ci sono tre percorsi onesti e solo uno di questi ci coinvolge.
1. Acquista una licenza commerciale da Artifex
Artifex vende una licenza commerciale in modo che le aziende possano utilizzare Ghostscript in prodotti closed source. Questo è un percorso legittimo e supportato ed è probabilmente la scelta giusta quando dipendi dal set completo di funzionalità di Ghostscript.
Scegli questo se: utilizzi Ghostscript come interprete PostScript completo o PDF o RIP, incluse separazioni dei colori, dispositivi di stampa, input PDF o flussi di lavoro complessi RIP.
2. Sostituire il componente
Se il requisito è più ristretto (conversione di file PS, EPS o XPS in PDF o immagini), una libreria commerciale appositamente creata può coprirlo senza la stessa domanda di licenza.
Scegli questo se: il tuo utilizzo è la conversione e il rendering e preferisci un pacchetto NuGet gestito a un binario nativo in ogni distribuzione.
3. Rilascia la funzione
Se la conversione del formato è una comodità utilizzata raramente, rimuoverla potrebbe costare meno di entrambe le licenze.
Scegli questo se: la funzionalità non è abbastanza importante da giustificare una licenza commerciale o una migrazione.
Dove si adatta Aspose.Page e dove no
Aspose.Page è adatto se hai bisogno di:
- Converti file PostScript (PS) e EPS in PDF.
- Converti documenti XPS e OXPS in PDF.
- Esegui il rendering di uno di questi formati in PNG, JPEG, TIFF o BMP.
- Unisci più documenti PS o XPS.
- Crea e modifica documenti XPS a livello di codice.
- Leggere e scrivere metadati XMP nei file EPS.
- Ritaglia, ridimensiona e trasforma i file EPS.
- Esegui la conversione all’interno di un prodotto commerciale, server, contenitore o funzione serverless a codice chiuso.
Aspose.Page è lo strumento sbagliato se hai bisogno di:
- Un interprete PostScript completo o RIP con controllo a livello di dispositivo.
- File PDF come input: utilizza Aspose.PDF , che è un prodotto diverso.
- CMYK separazioni colore o output del dispositivo di stampa di livello prestampa.
- Il comportamento del distillatore
pdfwritedi Ghostscript è stato riprodotto esattamente.
Se sei nel secondo elenco, la licenza commerciale Artifex è la soluzione migliore. Costerà meno di una migrazione che non riesce a raggiungere la parità.
Quanto ti costa un convertitore nativo in un contenitore
Ogni percorso verso Ghostscript da .NET (`Ghostscript.NET`, P/Invoke diretto o richiamo di `gs` come processo) termina con il file binario nativo e le relative librerie condivise nell'immagine. Ciò crea un lavoro operativo continuo:
- Dimensione immagine. Stai spedendo un interprete, non solo un convertitore.
- Patch CVE. Le vulnerabilità Ghostscript diventano parte della cadenza di applicazione delle patch e di ricostruzione.
- Blocco dell’immagine di base. Le build native e le librerie condivise limitano le immagini di base che puoi utilizzare; Le build glibc e musl non sono intercambiabili.
- Deriva ambientale. Le macchine di sviluppo, i runner CI e gli host di produzione devono avere versioni native compatibili.
- Piano a consumo di Funzioni di Azure. I pacchetti nativi non possono essere installati qui, il che rappresenta un ostacolo piuttosto che un inconveniente di distribuzione. Consulta la guida tecnica per Docker e la distribuzione serverless .
Una libreria gestita rimuove il convertitore nativo da queste preoccupazioni. È comunque necessario comprimere e configurare i caratteri richiesti dai documenti.
Ghostscript rispetto a Aspose.Page per .NET
- Licenza — Ghostscript: AGPL v3 o commerciale di Artifex. Aspose.Page: solo commerciale.
- Informativa sulla fonte — Ghostscript: richiesto quando si applica AGPL. Aspose.Page: non richiesto.
- Rete e SaaS — Ghostscript: l’utilizzo della rete rientra nell’ambito di AGPL. Aspose.Page: l’implementazione commerciale è coperta dalla licenza acquistata.
- Implementazione — Ghostscript: binario C nativo. Aspose.Page: libreria .NET gestita senza convertitore binario nativo.
- Integrazione .NET — Ghostscript: invocazione del processo o un wrapper come
Ghostscript.NET. Aspose.Page: pacchetto NuGet e API diretta. - Distribuzione — Ghostscript: installa o raggruppa le librerie binarie e condivise native. Aspose.Page: impacchetta gli assembly gestiti con l’applicazione.
- Formati di input — Ghostscript: PS, EPS, PDF e altri; XPS richiede GhostXPS, un interprete separato dello stesso albero GhostPDL. Aspose.Page: PS, EPS, XPS e OXPS in un’unica libreria.
- Output — Ghostscript: PDF più un’ampia gamma di dispositivi raster e di stampa. Aspose.Page: PDF, PNG, JPEG, TIFF e BMP.
- Ambito — Ghostscript: interprete completo e RIP. Aspose.Page: conversione, rendering e manipolazione di documenti.
- Prezzo — Ghostscript: il prezzo commerciale è indicato da Artifex. Aspose.Page: livelli pubblicati da US$599.
Migrazione
PostScript o da EPS a PDF
Conversione C# che sostituisce il 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);
}Sostituisce: `gs -sDEVICE=pdfwrite -o output.pdf input.ps`
PostScript o EPS alle immagini
Conversione C# che sostituisce il 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.Sostituisce: `gs -sDEVICE=png16m -o page_%d.png input.ps`
Da XPS a PDF
Conversione da 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` non legge XPS. L'equivalente Artifex è `gxps` di GhostPDL, con la stessa doppia licenza.
Di quale licenza hai bisogno?
Questi prezzi pubblicati sono stati controllati il 26 ottobre 2026. Conferma i prezzi attuali nella [pagina dei prezzi Aspose.Page per .NET](https://purchase.aspose.com/pricing/page/net).
- Strumento interno, uno sviluppatore e una posizione di distribuzione: Developer Small Business — US$599.
- Incorporato in un prodotto distribuito ai clienti o in un’applicazione Web pubblica: Developer OEM — US$1,797.
- Distribuito come parte di un SDK o API venduto: Developer SDK — US$11,980.
- Distribuzione in un team o in un’organizzazione più ampia: sono disponibili licenze per sito; vedere la pagina dei prezzi.
Per una sostituzione Ghostscript spedita all'interno di un prodotto commerciale o di un'applicazione web pubblica, Developer OEM è normalmente il livello giusto. Copre uno sviluppatore, posizioni di distribuzione illimitate e distribuzione esterna.
Le licenze perpetue includono un anno di aggiornamenti, con possibilità di rinnovo scontato.
Provalo prima di impegnarti
L'output di valutazione senza licenza presenta una filigrana. Una licenza temporanea gratuita di 30 giorni rimuove i limiti di valutazione in modo da poter testare i propri file prima dell'acquisto.
- Richiedi una licenza temporanea
- Scarica Aspose.Page da NuGet
- Leggi la documentazione
- Sfoglia esempi funzionanti su GitHub
Porta il tuo file PostScript più difficile. Se la conversione non avviene correttamente, è meglio scoprirlo durante la valutazione piuttosto che dopo l'acquisto.