Kapalı kaynak yazılımla gönderebileceğiniz bir Ghostscript alternatifi

PostScript, EPS ve XPS’yu PDF’ya ve yönetilen bir .NET kitaplığından görüntüleri yerel dönüştürücü ikili veya copyleft zorunluluğu olmadan dönüştürün.

 

Ürününüz içinde PostScript, EPS veya XPS dosyalarını dönüştürmeniz gerekir. Artifex araçları bunu iyi yapar ve ücretsiz indirilebilir: Ghostscript, PostScript ve EPS'yi yorumlar; GhostXPS ise XPS'yi işler. Ardından hukuk ekibiniz lisansı okur ve proje durur.

Bu sayfada lisanslama kısıtlamasının ne olduğu, bizi ilgilendirmeyenler de dahil olmak üzere seçeneklerinizin neler olduğu ve Aspose.Page'nun uygun olması durumunda nasıl geçiş yapılacağı açıklanmaktadır.

Aspose.Page, dönüştürme ve işlemeye yönelik ticari bir .NET kitaplığıdır. Yerel bir Ghostscript kurulumu gerektirmeden kapalı kaynak uygulamalarda yeniden dağıtım için tasarlanmıştır.

Lisansın gerçekte neyi gerektirdiği

Ghostscript, Şubat 2013'teki 9.07 sürümünden bu yana GNU Affero Genel Kamu Lisansı v3 kapsamında çift lisanslıdır. Bundan önce GPL v3'tü. Artifex Yazılımı telif hakkına sahiptir ve AGPL uyumluluğuna alternatif olarak ticari bir lisans satmaktadır. Aynı çift lisanslama, GhostXPS yorumlayıcısını içeren daha geniş GhostPDL kaynak ağacını da kapsar; bu nedenle PostScript yerine XPS işlemek lisanslama sorununu değiştirmez.

AGPL'nun copyleft hükmü, bir türev çalışmanın karşılık gelen kaynak kodunun tamamının AGPL kapsamında yayınlanmasını gerektirebilir. Bu aynı zamanda bir ağ üzerinden kullanıcılara sunulan yazılımı da kapsar; dolayısıyla hiçbir zaman ikili dosya göndermeyen bir SaaS ürünü otomatik olarak kapsamı dışında kalmaz.

Önemli olan nüans: bağlantı kurmak mı yoksa dışlamak mı?

Yaygın bir görüş, `gs`'nun ayrı bir işlem olarak çağrılmasının, uygulamanın kitaplığa bağlı olmaması nedeniyle copyleft'i önlemesidir. Burası gerçekten tartışmalı bir bölge. Rehberlik, süreç sınırının belirleyici olup olmadığına veya iletişimin yakınlığının ve birleştirilmiş programın tasarımının daha önemli olup olmadığına göre farklılık gösterir.

Biz sizin avukatınız değiliz ve bu sayfa hukuki tavsiye niteliğinde değildir. Hukuk ekibiniz ürününüzün nasıl oluşturulduğunu, sunulduğunu ve dağıtıldığını değerlendirmelidir. Çoğu takım için belirsizliğin kendisi, katlanmak istemedikleri bir maliyettir.

İçtihat

*Artifex Software, Inc. v. Hancom, Inc.* davasında Artifex, Hancom'un GPL lisanslı Ghostscript'yu ticari bir lisans satın almadan veya GPL'nun kaynak açıklama gerekliliklerine uymadan Hancom Office'e dahil ettiğini iddia etti.

25 April 2017 tarihinde U.S. District Court for the Northern District of California, Hancom'un reddetme talebini reddetti. Karar, Artifex'in hem sözleşme ihlali hem de telif hakkı ihlali konusunda ilerlemesine izin verdi. Taraflar Aralık 2017'de anlaşmaya vardı.

Önemi dar: açık kaynak lisansı uygulanabilir. Karar, her entegrasyonun veya ayrı süreç çağrısının bir türev çalışma oluşturduğuna karar vermiyor.

Seçenekleriniz

Üç dürüst yol var ve bunlardan yalnızca biri bizi ilgilendiriyor.

1. Artifex'ten ticari lisans satın alın

Artifex, şirketlerin Ghostscript'yu kapalı kaynaklı ürünlerde kullanabilmesi için ticari bir lisans satıyor. Bu meşru, desteklenen bir yoldur ve Ghostscript'nun tüm yetenek setine güvendiğinizde muhtemelen doğru seçimdir.

Aşağıdaki durumlarda bunu seçin: renk ayrımları, yazdırma aygıtları, PDF girişi veya karmaşık RIP iş akışları dahil olmak üzere Ghostscript'yu tam bir PostScript veya PDF yorumlayıcısı veya RIP olarak kullanırsınız.

2. Bileşeni değiştirin

Gereksinim daha darsa (PS, EPS veya XPS dosyalarını PDF'ya veya görüntülere dönüştürmek) amaca yönelik oluşturulmuş bir ticari kitaplık, aynı lisanslama sorusu olmadan bunu kapsayabilir.

Aşağıdaki durumlarda bunu seçin: kullanımınız dönüştürme ve oluşturmadır ve her dağıtımda yönetilen bir NuGet paketini yerel bir ikili programa tercih edersiniz.

3. Özelliği bırakın

Format dönüştürme nadiren kullanılan bir kolaylıksa, onu kaldırmak her iki lisanstan da daha ucuza mal olabilir.

Aşağıdaki durumlarda bunu seçin: bu özellik ticari lisansı veya geçişi haklı çıkaracak kadar önemli değil.

Aspose.Page'nun uyduğu ve uymadığı yerler

Aşağıdakilere ihtiyacınız varsa Aspose.Page iyi bir seçimdir:

  • PostScript (PS) ve EPS dosyalarını PDF’ya dönüştürün.
  • XPS ve OXPS belgelerini PDF’ya dönüştürün.
  • Bu formatlardan herhangi birini PNG, JPEG, TIFF veya BMP’ya dönüştürün.
  • Birden fazla PS veya XPS belgesini birleştirin.
  • XPS belgelerini programlı olarak oluşturun ve düzenleyin.
  • EPS dosyalarındaki XMP meta verilerini okuyun ve yazın.
  • EPS dosyalarını kırpın, yeniden boyutlandırın ve dönüştürün.
  • Dönüşümü kapalı kaynaklı bir ticari ürün, sunucu, konteyner veya sunucusuz işlev içinde çalıştırın.

Aşağıdakilere ihtiyacınız varsa Aspose.Page yanlış araçtır:

  • Tam bir PostScript yorumlayıcısı veya cihaz düzeyinde kontrole sahip RIP.
  • PDF dosyalarını giriş olarak kullanın — farklı bir ürün olan Aspose.PDF kullanın.
  • CMYK renk ayrımları veya baskı öncesi dereceli baskı cihazı çıkışı.
  • Ghostscript’nun pdfwrite damıtıcı davranışı tam olarak yeniden üretildi.

İkinci listedeyseniz Artifex ticari lisansı daha uygun olacaktır. Eşitliğe ulaşamayan bir geçişten daha az maliyetli olacaktır.

Yerel bir dönüştürücünün bir kapta size maliyeti nedir?

.NET'ten Ghostscript'ya giden her rota - `Ghostscript.NET`, doğrudan P/Invoke veya `gs`'yu bir süreç olarak çağırma - yerel ikili dosya ve görüntüdeki paylaşılan kitaplıkları ile sona erer. Bu, sürekli operasyonel çalışma yaratır:

  • Görüntü boyutu. Yalnızca bir dönüştürücü değil, bir tercüman da gönderiyorsunuz.
  • CVE yama uygulaması. Ghostscript güvenlik açıkları yama uygulamanızın ve yeniden oluşturma temponuzun bir parçası haline gelir.
  • Temel görüntüye kilitlenme. Yerel yapılar ve paylaşılan kitaplıklar, hangi temel görüntüleri kullanabileceğinizi kısıtlar; glibc ve musl yapıları birbirinin yerine kullanılamaz.
  • Ortam kayması. Geliştirme makineleri, CI çalıştırıcıları ve üretim ana bilgisayarları uyumlu yerel sürümler taşımalıdır.
  • Azure İşlevleri Tüketim planı. Yerel paketler buraya yüklenemez; bu, dağıtım zorluğundan ziyade zor bir duraktır. Docker ve sunucusuz dağıtım için teknik kılavuza bakın.

Yönetilen bir kitaplık, yerel dönüştürücüyü bu endişelerden kaldırır. Yine de belgelerinizin gerektirdiği yazı tiplerini paketleyip yapılandırmanız gerekir.

.NET için Ghostscript ve Aspose.Page karşılaştırması

  • Lisans — Ghostscript: AGPL v3 veya Artifex’ten ticari. Aspose.Page: yalnızca ticari.
  • Kaynak açıklaması — Ghostscript: AGPL geçerli olduğunda gereklidir. Aspose.Page: gerekli değil.
  • Ağ ve SaaS — Ghostscript: ağ kullanımı AGPL kapsamı dahilindedir. Aspose.Page: ticari dağıtım, satın alınan lisans kapsamındadır.
  • Uygulama — Ghostscript: yerel C ikili programı. Aspose.Page: yerel dönüştürücü ikili programı olmayan, yönetilen .NET kitaplığı.
  • .NET entegrasyonu — Ghostscript: işlem çağrısı veya Ghostscript.NET gibi bir sarmalayıcı. Aspose.Page: NuGet paketi ve doğrudan API.
  • Dağıtım — Ghostscript: yerel ikili ve paylaşılan kitaplıkları yükleyin veya paketleyin. Aspose.Page: yönetilen derlemeleri uygulamayla birlikte paketleyin.
  • Girdi biçimleri — Ghostscript: PS, EPS, PDF ve daha fazlası; XPS, aynı GhostPDL ağacından ayrı bir yorumlayıcı olan GhostXPS’i gerektirir. Aspose.Page: tek bir kitaplıkta PS, EPS, XPS ve OXPS.
  • Çıktı — Ghostscript: PDF artı çok çeşitli tarama ve yazdırma aygıtları. Aspose.Page: PDF, PNG, JPEG, TIFF ve BMP.
  • Kapsam — Ghostscript: tam yorumlayıcı ve RIP. Aspose.Page: dönüştürme, oluşturma ve belge işleme.
  • Fiyatlandırma — Ghostscript: ticari fiyatlandırma Artifex tarafından verilmektedir. Aspose.Page: US$599’dan yayınlanan katmanlar.

Göç

PostScript veya EPS'dan PDF'ya

`gs` pdfwrite komutunun yerine C# dönüşümü

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);
}

Değiştirilir: `gs -sDEVICE=pdfwrite -o output.pdf input.ps`

Resimlere PostScript veya EPS

`gs` png16m komutunun yerini alan C# dönüşümü

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.

Değiştirilir: `gs -sDEVICE=png16m -o page_%d.png input.ps`

XPS'dan PDF'ya

C# XPS'dan PDF'ya dönüştürme

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`, XPS okumaz. Artifex eşdeğeri, aynı çift lisans kapsamındaki GhostPDL `gxps` aracıdır.

Hangi lisansa ihtiyacınız var?

Yayınlanan bu fiyatlar 26 Ekim 2026'da kontrol edildi. Mevcut fiyatlandırmayı [.NET için Aspose.Page fiyatlandırma sayfasında](https://purchase.aspose.com/pricing/page/net) doğrulayın.

  • Dahili araç, bir geliştirici ve bir dağıtım konumu: Developer Small Business — US$599.
  • Müşterilere dağıtılan bir ürüne veya genel bir web uygulamasına gömülüdür: Developer OEM — US$1,797.
  • Sattığınız bir SDK veya API’nin parçası olarak dağıtılır: Developer SDK — US$11,980.
  • Ekip veya daha geniş bir kuruluş dağıtımı: Site lisansları mevcuttur; fiyatlandırma sayfasına bakın.

Ticari bir ürün veya genel web uygulaması içinde gönderilen Ghostscript değişimi için Developer OEM normalde doğru katmandır. Bir geliştiriciyi, sınırsız dağıtım konumlarını ve harici dağıtımı kapsar.

Kalıcı lisanslar bir yıllık güncellemeyi içerir ve indirimli yenileme imkanı mevcuttur.

Taahhüt etmeden önce deneyin

Lisanssız değerlendirme çıktısı filigran taşır. Ücretsiz 30 günlük geçici lisans, değerlendirme sınırlarını ortadan kaldırır, böylece satın almadan önce kendi dosyalarınızı test edebilirsiniz.

En zor PostScript dosyanızı getirin. Doğru şekilde dönüşmezse, satın alma sonrasında öğrenmek yerine değerlendirme sırasında öğrenmek daha iyidir.