Một giải pháp thay thế Ghostscript mà bạn có thể gửi trong phần mềm nguồn đóng
Chuyển đổi PostScript, EPS và XPS sang PDF và hình ảnh từ thư viện .NET được quản lý mà không có nghĩa vụ nhị phân hoặc copyleft của trình chuyển đổi gốc.
Bạn cần chuyển đổi các tệp PostScript, EPS hoặc XPS bên trong sản phẩm của mình. Các công cụ Artifex thực hiện tốt việc này và có thể tải xuống miễn phí: Ghostscript diễn giải PostScript và EPS, còn GhostXPS xử lý XPS. Sau đó, nhóm pháp lý của bạn đọc giấy phép và dự án dừng lại.
Trang này giải thích ràng buộc cấp phép là gì, các tùy chọn của bạn là gì — bao gồm cả những tùy chọn không liên quan đến chúng tôi — và cách di chuyển nếu Aspose.Page phù hợp.
Aspose.Page là thư viện .NET thương mại để chuyển đổi và hiển thị. Nó được thiết kế để phân phối lại trong các ứng dụng nguồn đóng mà không yêu cầu cài đặt Ghostscript gốc.
Giấy phép thực sự yêu cầu những gì
Ghostscript đã được cấp phép kép theo Giấy phép Công cộng GNU Affero v3 kể từ phiên bản 9.07 vào tháng 2 năm 2013. Trước đó là GPL v3. Artifex Software sở hữu bản quyền và bán giấy phép thương mại thay thế cho việc tuân thủ AGPL. Cùng cơ chế cấp phép kép đó áp dụng cho cây mã nguồn GhostPDL rộng hơn, trong đó có trình thông dịch GhostXPS, vì vậy xử lý XPS thay cho PostScript không làm thay đổi vấn đề cấp phép.
Điều khoản copyleft của AGPL có thể yêu cầu mã nguồn tương ứng hoàn chỉnh của tác phẩm phái sinh phải được phát hành theo AGPL. Nó cũng mở rộng sang phần mềm được cung cấp cho người dùng qua mạng, do đó, một sản phẩm SaaS không bao giờ gửi tệp nhị phân sẽ không tự động nằm ngoài phạm vi của nó.
Sắc thái quan trọng: liên kết và tách biệt
Một quan điểm chung là việc gọi `gs` như một quy trình riêng biệt sẽ tránh được copyleft vì ứng dụng không được liên kết với thư viện. Đây thực sự là lãnh thổ có tranh chấp. Hướng dẫn khác nhau về việc liệu ranh giới của quy trình có mang tính quyết định hay liệu sự mật thiết của giao tiếp và thiết kế của chương trình kết hợp có quan trọng hơn hay không.
Chúng tôi không phải là luật sư của bạn và trang này không phải là lời khuyên pháp lý. Nhóm pháp lý của bạn phải đánh giá cách sản phẩm của bạn được xây dựng, cung cấp và phân phối. Đối với nhiều đội, bản thân sự không chắc chắn đã là một cái giá phải trả mà họ không sẵn lòng gánh chịu.
án lệ
Trong *Artifex Software, Inc. v. Hancom, Inc.*, Artifex cáo buộc rằng Hancom đã kết hợp GPL được cấp phép Ghostscript vào Hancom Office mà không mua giấy phép thương mại hoặc tuân thủ các yêu cầu tiết lộ nguồn của GPL.
Trên 25 April 2017, U.S. District Court for the Northern District of California đã từ chối đề nghị bác bỏ của Hancom. Phán quyết cho phép Artifex tiến hành xử lý cả vi phạm hợp đồng và vi phạm bản quyền. Các bên đã giải quyết vào tháng 12 năm 2017.
Ý nghĩa rất hẹp: giấy phép nguồn mở có thể được thi hành. Phán quyết không quyết định rằng mọi lệnh gọi quy trình tích hợp hoặc quy trình riêng biệt đều tạo ra một tác phẩm phái sinh.
Tùy chọn của bạn
Có ba con đường trung thực và chỉ một trong số đó liên quan đến chúng ta.
1. Mua giấy phép thương mại từ Artifex
Artifex bán giấy phép thương mại để các công ty có thể sử dụng Ghostscript trong các sản phẩm nguồn đóng. Đây là tuyến đường hợp pháp, được hỗ trợ và có thể là lựa chọn phù hợp khi bạn phụ thuộc vào bộ khả năng đầy đủ của Ghostscript.
Chọn cái này nếu: bạn sử dụng Ghostscript làm trình thông dịch PostScript hoặc PDF đầy đủ hoặc RIP, bao gồm tách màu, thiết bị in, đầu vào PDF hoặc quy trình công việc RIP phức tạp.
2. Thay thế linh kiện
Nếu yêu cầu hẹp hơn — chuyển đổi các tệp PS, EPS hoặc XPS thành PDF hoặc hình ảnh — thì một thư viện thương mại được xây dựng có mục đích có thể đáp ứng yêu cầu đó mà không cần phải trả lời câu hỏi cấp phép tương tự.
Chọn cái này nếu: mục đích sử dụng của bạn là chuyển đổi và hiển thị, đồng thời bạn thích gói NuGet được quản lý hơn gói nhị phân gốc trong mỗi lần triển khai.
3. Bỏ tính năng
Nếu chuyển đổi định dạng là một tiện ích hiếm khi được sử dụng thì việc loại bỏ nó có thể tốn ít chi phí hơn cả hai giấy phép.
Chọn cái này nếu: tính năng này không đủ quan trọng để biện minh cho việc cấp phép thương mại hoặc di chuyển.
Nơi Aspose.Page phù hợp - và nơi không
Aspose.Page rất phù hợp nếu bạn cần:
- Chuyển đổi các tệp PostScript (PS) và EPS thành PDF.
- Chuyển đổi tài liệu XPS và OXPS thành PDF.
- Hiển thị bất kỳ định dạng nào trong số đó thành PNG, JPEG, TIFF hoặc BMP.
- Hợp nhất nhiều tài liệu PS hoặc XPS.
- Tạo và chỉnh sửa tài liệu XPS theo chương trình.
- Đọc và ghi siêu dữ liệu XMP trong tệp EPS.
- Cắt, thay đổi kích thước và chuyển đổi các tệp EPS.
- Chạy chuyển đổi bên trong một sản phẩm thương mại nguồn đóng, máy chủ, vùng chứa hoặc chức năng không có máy chủ.
Aspose.Page là công cụ sai lầm nếu bạn cần:
- Trình thông dịch PostScript đầy đủ hoặc RIP với khả năng kiểm soát cấp thiết bị.
- Tệp PDF làm đầu vào — sử dụng Aspose.PDF , là một sản phẩm khác.
- Sự phân tách màu CMYK hoặc đầu ra của thiết bị in ở cấp độ in trước.
- Hoạt động chưng cất
pdfwritecủa Ghostscript được sao chép chính xác.
Nếu bạn nằm trong danh sách thứ hai, giấy phép thương mại Artifex sẽ phù hợp hơn. Nó sẽ có chi phí thấp hơn so với việc di chuyển không thể đạt được mức chẵn lẻ.
Bạn phải trả bao nhiêu tiền cho một công cụ chuyển đổi gốc trong một vùng chứa
Mọi tuyến đường đến Ghostscript từ .NET — `Ghostscript.NET`, P/Gọi trực tiếp hoặc gọi `gs` dưới dạng một quy trình — đều kết thúc bằng tệp nhị phân gốc và các thư viện dùng chung của nó trong hình ảnh. Điều đó tạo ra công việc vận hành liên tục:
- Kích thước hình ảnh. Bạn đang gửi một trình thông dịch chứ không chỉ là một trình chuyển đổi.
- Bản vá CVE. Các lỗ hổng Ghostscript trở thành một phần trong quá trình vá lỗi và xây dựng lại nhịp của bạn.
- Khóa hình ảnh cơ sở. Bản dựng gốc và thư viện dùng chung hạn chế hình ảnh cơ sở nào bạn có thể sử dụng; Bản dựng glibc và musl không thể thay thế cho nhau.
- Sự thay đổi môi trường. Máy phát triển, trình chạy CI và máy chủ sản xuất phải có phiên bản gốc tương thích.
- Gói sử dụng Azure Functions. Không thể cài đặt các gói gốc ở đó, đây là một điểm dừng khó khăn chứ không phải là sự bất tiện khi triển khai. Xem hướng dẫn kỹ thuật về triển khai Docker và serverless .
Thư viện được quản lý sẽ loại bỏ trình chuyển đổi gốc khỏi những lo ngại đó. Bạn vẫn phải đóng gói và định cấu hình các phông chữ mà tài liệu của bạn yêu cầu.
Ghostscript so với Aspose.Page cho .NET
- Giấy phép — Ghostscript: AGPL v3 hoặc quảng cáo từ Artifex. Aspose.Page: chỉ dành cho mục đích thương mại.
- Tiết lộ nguồn — Ghostscript: bắt buộc khi áp dụng AGPL. Aspose.Page: không bắt buộc.
- Mạng và SaaS — Ghostscript: việc sử dụng mạng nằm trong phạm vi AGPL. Aspose.Page: việc triển khai thương mại được bao gồm trong giấy phép đã mua.
- Triển khai — Ghostscript: nhị phân C gốc. Aspose.Page: thư viện .NET được quản lý không có tệp nhị phân chuyển đổi gốc.
- Tích hợp .NET — Ghostscript: lệnh gọi quy trình hoặc trình bao bọc chẳng hạn như
Ghostscript.NET. Aspose.Page: Gói NuGet và API trực tiếp. - Triển khai — Ghostscript: cài đặt hoặc đóng gói các thư viện chia sẻ và nhị phân gốc. Aspose.Page: đóng gói các tập hợp được quản lý bằng ứng dụng.
- Định dạng đầu vào — Ghostscript: PS, EPS, PDF và các định dạng khác; XPS cần GhostXPS, một trình thông dịch riêng trong cùng cây GhostPDL. Aspose.Page: PS, EPS, XPS và OXPS trong một thư viện.
- Đầu ra — Ghostscript: PDF cùng với nhiều loại thiết bị raster và in. Aspose.Page: PDF, PNG, JPEG, TIFF và BMP.
- Phạm vi — Ghostscript: trình thông dịch đầy đủ và RIP. Aspose.Page: chuyển đổi, hiển thị và thao tác tài liệu.
- Giá cả — Ghostscript: giá thương mại được trích dẫn bởi Artifex. Aspose.Page: các cấp được công bố từ US$599.
Di chuyển
PostScript hoặc EPS tới PDF
Chuyển đổi C# thay thế lệnh 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);
}Thay thế: `gs -sDEVICE=pdfwrite -o output.pdf input.ps`
PostScript hoặc EPS sang hình ảnh
Chuyển đổi C# thay thế lệnh `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.Thay thế: `gs -sDEVICE=png16m -o page_%d.png input.ps`
XPS đến PDF
Chuyển đổi C# XPS sang 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` không đọc XPS. Công cụ tương đương của Artifex là `gxps` từ GhostPDL, theo cùng giấy phép kép.
Bạn cần giấy phép nào?
Các mức giá công bố này đã được kiểm tra vào ngày 26 tháng 10 năm 2026. Hãy xác nhận mức giá hiện tại trên [trang định giá Aspose.Page dành cho .NET](https://purchase.aspose.com/pricing/page/net).
- Công cụ nội bộ, một nhà phát triển và một địa điểm triển khai: Developer Small Business — US$599.
- Được nhúng trong sản phẩm được phân phối cho khách hàng hoặc ứng dụng web công cộng: Developer OEM — US$1,797.
- Được phân phối như một phần của SDK hoặc API mà bạn bán: Developer SDK — US$11,980.
- Triển khai theo nhóm hoặc tổ chức rộng hơn: Giấy phép trang web có sẵn; xem trang giá cả.
Đối với sản phẩm thay thế Ghostscript được vận chuyển bên trong sản phẩm thương mại hoặc ứng dụng web công cộng, Developer OEM thường là cấp phù hợp. Nó bao gồm một nhà phát triển, địa điểm triển khai không giới hạn và phân phối bên ngoài.
Giấy phép vĩnh viễn bao gồm một năm cập nhật, với mức chiết khấu khi gia hạn.
Hãy thử nó trước khi bạn cam kết
Đầu ra đánh giá không được cấp phép mang hình mờ. Giấy phép tạm thời 30 ngày miễn phí sẽ loại bỏ các giới hạn đánh giá để bạn có thể kiểm tra các tệp của riêng mình trước khi mua.
- Yêu cầu giấy phép tạm thời
- Tải xuống Aspose.Page từ NuGet
- Đọc tài liệu
- Duyệt qua các ví dụ hoạt động trên GitHub
Mang theo tệp PostScript khó nhất của bạn. Nếu nó không chuyển đổi chính xác, tốt hơn là tìm hiểu trong quá trình đánh giá hơn là sau khi mua.