소개
Aspose.Page FOSS for Python은 PostScript (PS), Encapsulated PostScript (EPS), 그리고 XPS 문서를 PDF 및 래스터 이미지로 변환하기 위한 무료 오픈소스 라이브러리입니다. Python 애플리케이션에서 사용됩니다. MIT 라이선스하에 배포되며 PyPI에서 aspose-page-foss 이름으로 제공됩니다.
이 라이브러리는 두 개의 최상위 문서 클래스를 제공합니다: PS 및 EPS 파일용 PsDocument, 그리고 XPS 파일용 XpsDocument. 두 클래스 모두 바이트 배열을 반환하는 to_pdf()와 to_image() 메서드를 노출하여 임시 파일을 작성하지 않고 파일 처리 파이프라인에 쉽게 통합할 수 있습니다.
이 라이브러리는 Ghostscript, Adobe Reader 또는 any native Office runtime에 의존하지 않기 때문에 Windows, Linux, macOS는 물론 CI 러너와 Docker 컨테이너에서도 실행됩니다. 고급 렌더링 기능을 갖춘 전체 상용 API이 필요한 개발자는 이러한 오픈소스 유틸리티와 함께 Python 제품용 엔터프라이즈 Aspose.Page을 계속 사용할 수 있습니다.
포함 내용
PS 및 EPS를 PDF로 변환
PsDocument는 동일한 클래스 인터페이스를 통해 PostScript (.ps)와 Encapsulated PostScript (.eps) 파일을 모두 처리합니다. 문서를 로드하려면 PsDocument.from_file()를 호출하고, 결과를 PDF 바이트 배열로 얻으려면 to_pdf()를 호출하십시오.
from pathlib import Path
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("input.ps")
pdf_bytes = ps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)
from_bytes() 클래스 메서드는 원시 바이트를 받아들이므로 네트워크 스트림이나 파일 업로드를 통해 도착하는 문서를 먼저 디스크에 쓰지 않고 처리할 수 있습니다.
PS 및 EPS를 래스터 이미지로
PS 또는 EPS 문서를 PNG 또는 JPEG 이미지로 렌더링하려면 ImageSaveOptions 인스턴스를 to_image()에 전달하십시오. format 속성을 "png" 또는 "jpeg"로 설정하고, dpi 속성을 사용하여 출력 해상도를 제어합니다.
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("input.eps")
opts = ImageSaveOptions(format="png", dpi=150)
png_bytes = eps.to_image(opts)
XPS를 PDF 및 이미지로
XpsDocument은 XPS 파일을 로드하고 PsDocument와 동일한 to_pdf() 및 to_image() 인터페이스를 제공합니다. XPS 문서를 로드하려면 XpsDocument.from_file()를 호출한 다음 원하는 출력 형식으로 변환하십시오.
from pathlib import Path
from aspose.page.xps.document import XpsDocument
from aspose.page.ps.output import ImageSaveOptions
xps = XpsDocument.from_file("input.xps")
pdf_bytes = xps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)
png_bytes = xps.to_image(ImageSaveOptions(format="png", dpi=96))
메모리 내 처리
모든 변환 메서드는 bytes 객체를 반환합니다. 애플리케이션이 명시적으로 파일을 작성하지 않는 한 임시 파일은 전혀 필요하지 않습니다. PsDocument와 XpsDocument 모두의 from_bytes() 생성자는 원시 바이트를 입력으로 받아들여 전체 파이프라인을 메모리 내에 유지할 수 있습니다.
from aspose.page.ps.document import PsDocument
def convert_ps_in_memory(ps_bytes: bytes) -> bytes:
doc = PsDocument.from_bytes(ps_bytes)
return doc.to_pdf()
MCP 서버 통합
이 라이브러리에는 선택적 MCP 서버가 포함되어 있으며, FastMCP을(를) 사용하여 변환 기능을 원격 도구로 노출합니다. 서버는 ps_to_pdf, ps_to_image, xps_to_pdf, xps_to_image을(를) 호출 가능한 도구로 등록합니다. McpInput는 파일 경로나 base64 인코딩된 바이트를 받아들입니다; McpOutput는 base64 바이트를 반환하거나 경로에 씁니다.
FastMCP는 선택적 종속성입니다 — 핵심 변환 기능은 이를 없이도 작동합니다. MCP 서버는 라이브러리를 AI 에이전트 파이프라인, 마이크로서비스, 그리고 MCP 도구 서버를 지원하는 편집기에서 호출 가능하도록 만드는 데 유용합니다.
빠른 시작
pip으로 라이브러리를 설치합니다:
git clone https://github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python.git
cd Aspose.Page-FOSS-for-Python
pip install -e .다음 예제는 가장 일반적인 사용 사례를 다룹니다 — PS 파일을 PDF로 변환하고 디스크에 저장합니다:
from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
# Convert PS to PDF
ps = PsDocument.from_file("document.ps")
Path("document.pdf").write_bytes(ps.to_pdf())
# Convert EPS to PNG at 150 DPI
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("illustration.png").write_bytes(eps.to_image(opts))
# Convert XPS to PDF
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("document.xps")
Path("document.pdf").write_bytes(xps.to_pdf())
지원 포맷
Aspose.Page FOSS for Python은(는) PostScript (.ps), Encapsulated PostScript (.eps), 및 XML Paper Specification (.xps) 파일을 읽습니다. 출력 포맷은 PDF (.pdf)와 래스터 이미지 (.png, .jpeg)입니다. 모든 변환은 내보내기 전용이며 — 라이브러리는 PS, EPS, 또는 XPS를 쓰지 않습니다.
오픈 소스 및 라이선스
Aspose.Page FOSS for Python은 MIT 라이선스 하에 배포됩니다. 소스 코드는 GitHub에서 github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python에 호스팅됩니다. MIT 조건에 따라 상업적 사용이 제한 없이 허용됩니다.