비공개 소스 소프트웨어로 제공할 수 있는 Ghostscript 대안
기본 변환기 바이너리 또는 카피레프트 의무 없이 PostScript, EPS 및 XPS를 PDF 및 관리형 .NET 라이브러리의 이미지로 변환합니다.
제품 안에서 PostScript, EPS 또는 XPS 파일을 변환해야 합니다. Artifex 도구는 이 작업을 잘 수행하며 무료로 다운로드할 수 있습니다. Ghostscript는 PostScript와 EPS를 해석하고 GhostXPS는 XPS를 처리합니다. 그런 다음 법무팀이 라이선스를 검토하고 프로젝트가 중단됩니다.
이 페이지에서는 라이선스 제약 조건, 당사와 관련되지 않은 옵션을 포함하여 귀하의 옵션이 무엇인지, Aspose.Page가 적합한 경우 마이그레이션하는 방법에 대해 설명합니다.
Aspose.Page는 변환 및 렌더링을 위한 상용 .NET 라이브러리입니다. 기본 Ghostscript 설치 없이 비공개 소스 애플리케이션에서 재배포하도록 설계되었습니다.
라이센스에 실제로 필요한 것
Ghostscript는 2013년 2월 버전 9.07부터 GNU Affero General Public License v3에 따라 이중 라이센스를 받았습니다. 그 전에는 GPL v3이었습니다. Artifex Software는 저작권을 소유하고 AGPL 준수에 대한 대안으로 상용 라이센스를 판매합니다. 동일한 이중 라이선스는 GhostXPS 인터프리터를 포함하는 더 넓은 GhostPDL 소스 트리에도 적용되므로 PostScript 대신 XPS를 처리해도 라이선스 문제는 달라지지 않습니다.
AGPL의 카피레프트 조항은 AGPL에 따라 출시될 파생 작업의 완전한 해당 소스 코드를 요구할 수 있습니다. 또한 네트워크를 통해 사용자에게 제공되는 소프트웨어로 확장되므로 바이너리를 제공하지 않는 SaaS 제품은 자동으로 범위를 벗어나지 않습니다.
중요한 뉘앙스: 연결과 제거
일반적인 입장은 `gs`를 별도의 프로세스로 호출하면 애플리케이션이 라이브러리에 연결되지 않기 때문에 카피레프트를 피할 수 있다는 것입니다. 이것은 진정으로 논쟁의 여지가 있는 영역입니다. 프로세스 경계가 결정적인지, 아니면 커뮤니케이션의 친밀성과 결합된 프로그램의 설계가 더 중요한지에 따라 지침이 다릅니다.
우리는 귀하의 변호사가 아니며 이 페이지는 법적 조언이 아닙니다. 법무팀은 제품이 어떻게 제작, 제공, 배포되는지 평가해야 합니다. 많은 팀에게 불확실성 자체는 감당하기 싫은 비용입니다.
판례법
*Artifex Software, Inc. v. Hancom, Inc.*에서 Artifex는 Hancom이 상용 라이선스를 구입하거나 GPL의 소스 공개 요구 사항을 준수하지 않고 GPL 라이선스 Ghostscript를 Hancom Office에 통합했다고 주장했습니다.
25 April 2017에서 U.S. District Court for the Northern District of California는 Hancom의 기각 요청을 거부했습니다. 판결은 Artifex가 계약 위반과 저작권 침해 모두에 대해 진행할 수 있도록 허용했습니다. 당사자들은 2017년 12월에 합의했습니다.
의미는 좁습니다. 오픈 소스 라이선스가 시행 가능합니다. 이 판결은 모든 통합 또는 별도 프로세스 호출이 파생 작업을 생성한다고 결정하지 않습니다.
귀하의 옵션
세 가지 정직한 경로가 있으며 그 중 하나만 우리와 관련됩니다.
1. Artifex에서 상업용 라이센스를 구입하세요
Artifex는 기업이 비공개 소스 제품에서 Ghostscript를 사용할 수 있도록 상용 라이센스를 판매합니다. 이는 합법적이고 지원되는 경로이며 Ghostscript의 전체 기능 세트에 의존할 때 올바른 선택일 가능성이 높습니다.
다음과 같은 경우에 이것을 선택하세요: 색상 분리, 인쇄 장치, PDF 입력 또는 복잡한 RIP 작업 흐름을 포함하여 Ghostscript를 전체 PostScript 또는 PDF 인터프리터 또는 RIP로 사용합니다.
2. 부품 교체
요구 사항이 더 좁은 경우(PS, EPS 또는 XPS 파일을 PDF 또는 이미지로 변환) 특수 제작된 상용 라이브러리는 동일한 라이선스 질문 없이 이를 처리할 수 있습니다.
다음과 같은 경우에 이것을 선택하세요: 용도는 변환 및 렌더링이며 모든 배포에서 기본 바이너리보다 관리형 NuGet 패키지를 선호합니다.
3. 기능 삭제
형식 변환을 거의 사용하지 않는 경우 이를 제거하는 데 드는 비용이 두 라이센스보다 저렴할 수 있습니다.
다음과 같은 경우에 이것을 선택하세요: 이 기능은 상업용 라이센스나 마이그레이션을 정당화할 만큼 중요하지 않습니다.
Aspose.Page가 적합한 곳과 그렇지 않은 곳
Aspose.Page는 다음과 같은 경우에 적합합니다.
- PostScript(PS) 및 EPS 파일을 PDF로 변환합니다.
- XPS 및 OXPS 문서를 PDF로 변환합니다.
- 해당 형식을 PNG, JPEG, TIFF 또는 BMP로 렌더링합니다.
- 여러 PS 또는 XPS 문서를 병합합니다.
- 프로그래밍 방식으로 XPS 문서를 생성하고 편집합니다.
- EPS 파일에서 XMP 메타데이터를 읽고 씁니다.
- EPS 파일을 자르고 크기를 조정하고 변환하세요.
- 비공개 소스 상용 제품, 서버, 컨테이너 또는 서버리스 기능 내에서 변환을 실행하세요.
다음이 필요한 경우 Aspose.Page는 잘못된 도구입니다.
- 장치 수준 제어 기능을 갖춘 전체 PostScript 인터프리터 또는 RIP.
- PDF 파일을 입력으로 사용합니다. 다른 제품인 Aspose.PDF 를 사용합니다.
- CMYK 색상 분리 또는 인쇄 전 등급 인쇄 장치 출력.
- Ghostscript의
pdfwrite증류기 동작이 정확하게 재현되었습니다.
두 번째 목록에 있다면 Artifex 상업용 라이센스가 더 적합합니다. 패리티에 도달할 수 없는 마이그레이션보다 비용이 적게 듭니다.
컨테이너 내 기본 변환기 비용
.NET에서 Ghostscript에 대한 모든 경로(`Ghostscript.NET`, 직접 P/Invoke 또는 `gs`를 프로세스로 호출)는 이미지의 기본 바이너리 및 공유 라이브러리로 끝납니다. 이는 지속적인 운영 작업을 생성합니다.
- 이미지 크기. 변환기뿐만 아니라 통역사도 배송됩니다.
- CVE 패치. Ghostscript 취약점은 패치 및 재구축 흐름의 일부가 됩니다.
- 기본 이미지 고정. 기본 빌드 및 공유 라이브러리는 사용할 수 있는 기본 이미지를 제한합니다. glibc와 musl 빌드는 서로 바꿔 사용할 수 없습니다.
- 환경 드리프트. 개발 머신, CI 실행기 및 프로덕션 호스트는 호환 가능한 기본 버전을 가지고 있어야 합니다.
- Azure Functions 소비 계획. 네이티브 패키지를 설치할 수 없습니다. 이는 배포 불편이 아니라 중단입니다. Docker 및 서버리스 배포 기술 가이드 를 참조하세요.
관리되는 라이브러리는 이러한 문제에서 기본 변환기를 제거합니다. 문서에 필요한 글꼴을 패키지화하고 구성해야 합니다.
.NET용 Ghostscript와 Aspose.Page 비교
- 라이센스 — Ghostscript: AGPL v3 또는 Artifex의 상용 제품입니다. Aspose.Page: 상업용 전용입니다.
- 소스 공개 — Ghostscript: AGPL가 적용될 때 필요합니다. Aspose.Page: 필요하지 않습니다.
- 네트워크 및 SaaS — Ghostscript: 네트워크 사용은 AGPL 범위 내에 있습니다. Aspose.Page: 상업적 배포에는 구매한 라이센스가 적용됩니다.
- 구현 — Ghostscript: 네이티브 C 바이너리. Aspose.Page: 기본 변환기 바이너리가 없는 관리형 .NET 라이브러리.
- .NET 통합 — Ghostscript: 프로세스 호출 또는
Ghostscript.NET와 같은 래퍼입니다. Aspose.Page: NuGet 패키지 및 직접 API. - 배포 — Ghostscript: 기본 바이너리 및 공유 라이브러리를 설치하거나 번들로 묶습니다. Aspose.Page: 관리되는 어셈블리를 애플리케이션과 함께 패키지합니다.
- 입력 형식 — Ghostscript: PS, EPS, PDF 등. XPS에는 동일한 GhostPDL 트리의 별도 인터프리터인 GhostXPS가 필요합니다. Aspose.Page: 하나의 라이브러리에서 PS, EPS, XPS 및 OXPS를 처리합니다.
- 출력 — Ghostscript: PDF와 다양한 래스터 및 인쇄 장치. Aspose.Page: PDF, PNG, JPEG, TIFF 및 BMP.
- 범위 — Ghostscript: 전체 인터프리터 및 RIP. Aspose.Page: 변환, 렌더링 및 문서 조작.
- 가격 — Ghostscript: 상업용 가격은 Artifex에서 제시합니다. Aspose.Page: US$599에서 게시된 계층입니다.
마이그레이션
PostScript 또는 EPS ~ PDF
`gs` pdfwrite 명령을 대체하는 C# 변환
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);
}대체: `gs -sDEVICE=pdfwrite -o output.pdf input.ps`
PostScript 또는 EPS를 이미지로
`gs` png16m 명령을 대체하는 C# 변환
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.대체: `gs -sDEVICE=png16m -o page_%d.png input.ps`
XPS ~ PDF
C# XPS에서 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`는 XPS를 읽지 않습니다. Artifex의 해당 도구는 동일한 이중 라이선스가 적용되는 GhostPDL의 `gxps`입니다.
어떤 라이센스가 필요합니까?
게시된 가격은 2026년 10월 26일에 확인되었습니다. [.NET용 Aspose.Page 가격 페이지](https://purchase.aspose.com/pricing/page/net)에서 현재 가격을 확인하세요.
- 내부 도구, 개발자 1명, 배포 위치 1개: Developer Small Business — US$599.
- 고객에게 배포되는 제품 또는 공개 웹 애플리케이션에 포함: Developer OEM — US$1,797.
- 귀하가 판매하는 SDK 또는 API의 일부로 배포됩니다: Developer SDK — US$11,980.
- 팀 또는 더 넓은 조직 배포: 사이트 라이센스를 사용할 수 있습니다. 가격 페이지를 참조하세요.
상용 제품 또는 공용 웹 애플리케이션 내에서 배송되는 Ghostscript 교체의 경우 일반적으로 Developer OEM가 올바른 계층입니다. 한 명의 개발자, 무제한 배포 위치 및 외부 배포가 포함됩니다.
영구 라이센스에는 1년간의 업데이트가 포함되며, 할인된 갱신이 가능합니다.
커밋하기 전에 시도해 보세요.
라이센스가 없는 평가 출력에는 워터마크가 표시됩니다. 무료 30일 임시 라이센스를 사용하면 평가 제한이 제거되므로 구매하기 전에 자신의 파일을 테스트할 수 있습니다.
가장 어려운 PostScript 파일을 가져오세요. 제대로 변환되지 않으면 구입 후보다는 평가 중에 알아보는 것이 좋습니다.