1. 제품
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS - Aspose.Page Python용 FOSS

무료이며 MIT 라이선스가 적용된 Python 라이브러리로 PS, EPS 및 XPS 문서를 PDF와 래스터 이미지로 내보낼 수 있습니다. Office가 필요 없습니다.

오픈소스 Python 라이브러리, PS, EPS 및 XPS 변환용

Aspose.Page FOSS for Python은(는) PostScript (PS)를 변환하기 위한 무료 오픈소스 라이브러리입니다, Encapsulated PostScript (EPS) 및 XPS 문서를 Python 애플리케이션에서 사용할 수 있습니다. 다음으로 설치하십시오. 단일 pip install aspose-page-foss 명령 및 PDF로 문서 내보내기를 시작하고 어떠한 독점 런타임이나 시스템 종속성도 없이 래스터 이미지.

이 라이브러리는 PsDocumentXpsDocument를 중심으로 구축된 깔끔한 API를 제공합니다. 문서를 로드합니다. from_file() 또는 from_bytes()와 함께 사용하고, to_pdf()를 호출하여 PDF 바이트 스트림을 얻거나, to_image()ImageSaveOptions 인스턴스를 사용하여 지정된 DPI에서 PNG 또는 JPEG로 렌더링합니다. 선택적 MCP 서버는 ps_to_pdf, ps_to_image, xps_to_pdf, 및 xps_to_image를 노출합니다. FastMCP를 사용하는 원격 변환 도구로서.

라이브러리는 기본 Office 라이브러리나 Ghostscript에 대한 의존성이 없기 때문에 실행됩니다. Windows, Linux 및 macOS에서 동일하게, CI 러너와 Docker 컨테이너를 포함합니다. 그 코드베이스는 MIT 라이선스를 가지고 있으며 GitHub에 호스팅됩니다. 전체 상업용 API가 필요한 개발자 이러한 오픈 소스 리소스와 함께 Aspose.Page를 Python에 사용할 수 있습니다. 엔터프라이즈 제품군에 대해서는 Aspose.Page — Enterprise Product Family를 참조하십시오.

PS 및 EPS 문서 변환

  • PS to PDF: PsDocument.from_file()를 호출한 다음 to_pdf()를 호출하여 문서를 PDF 바이트 배열로 내보냅니다.
  • EPS to PDF: PsDocument.from_file().ps.eps 파일 확장자를 모두 지원합니다.
  • PS/EPS to image: PNG 또는 JPEG 출력을 위해 ImageSaveOptions(format="png", dpi=150)to_image()에 전달하십시오.
  • 인메모리 처리: 모든 변환은 bytes을 반환합니다 — 임시 파일이 필요하지 않습니다.
  • 바이트에서: PsDocument.from_bytes()를 사용하여 네트워크 스트림 또는 업로드에서 PS/EPS 데이터를 처리합니다.

PS/EPS 변환이 사용되는 곳

  • Document pipelines: 레거시 PostScript 보고서를 PDF로 내보내어 보관 또는 배포에 사용합니다.
  • 인쇄 워크플로: 프린터 드라이버에서 생성된 PS 출력을 PDF 또는 이미지 미리보기로 변환합니다.
  • EPS 에셋 처리: EPS 일러스트레이션을 PNG로 래스터화하여 웹 또는 문서에 사용합니다.
  • 배치 자동화: CI 또는 cron 작업에서 GUI 없이 PS/EPS 파일 디렉터리를 처리합니다.

XPS 문서 변환

  • XPS to PDF: XPS 파일을 PDF 바이트 배열로 내보내려면 XpsDocument.from_file()를 호출한 다음 to_pdf()를 호출하십시오.
  • XPS to image: to_image()ImageSaveOptions와 함께 호출하여 XPS 페이지를 PNG 또는 JPEG로 렌더링합니다.
  • 바이트에서: 업로드 또는 스트림에서 메모리 내 XPS 데이터를 위해 XpsDocument.from_bytes()를 사용하십시오.
  • 페이지 액세스: add_page(), get_page(), 및 remove_page()을 사용하여 개별 페이지를 작업합니다.
  • XPS 패키지 읽기: XpsPackage.from_file()를 사용하여 원시 XPS 패키지 파트를 검사합니다.

XPS 변환이 사용되는 곳

  • Windows print spool: Windows print subsystem에서 XPS 스풀 파일을 PDF 또는 이미지로 내보냅니다.
  • 문서 보관: XPS 파일을 장기 보관을 위해 보편적으로 읽을 수 있는 PDF로 변환합니다.
  • 프리뷰 생성: 문서 관리 시스템을 위해 XPS 페이지를 PNG 썸네일로 렌더링합니다.
  • 크로스 플랫폼 사용: 기본 뷰어를 사용할 수 없는 Linux 및 macOS 서버에서 XPS 파일을 처리합니다.

원격 변환을 위한 MCP 서버

  • 도구 노출: create_server()ps_to_pdf, ps_to_image, xps_to_pdf, 및 xps_to_image를 FastMCP를 통해 MCP 도구로 등록합니다.
  • EPS 메타데이터: eps_metadata 도구는 EPS 파일에서 바운딩 박스와 DSC 헤더 필드를 추출합니다.
  • Input/output types: McpInput는 파일 경로나 base64 인코딩된 바이트를 받아들입니다; McpOutput는 base64 바이트를 반환하거나 경로에 씁니다.
  • Conversion options: McpConversionOptions은 이미지 변환을 위한 출력 형식 및 DPI를 제어합니다.
  • 선택적 종속성: FastMCP는 MCP 서버 호스팅에만 필요합니다; 핵심 변환은 그것 없이도 작동합니다.

MCP 사용 사례

  • AI agent pipelines: Claude 또는 다른 MCP 호환 에이전트가 호출할 수 있는 도구로 문서 변환을 노출합니다.
  • Microservices: PS/EPS/XPS를 HTTP를 통해 수락하는 경량 변환 서비스를 실행합니다.
  • IDE 플러그인: MCP 도구 서버를 지원하는 편집기에 변환 기능을 제공합니다.
  • 워크플로 자동화: 변환을 n8n 또는 유사한 로우코드 자동화 플랫폼에 통합합니다.

렌더 모델 및 PDF 출력

  • RenderModelBuilder: RenderDocumentbegin_page(), add_path(), add_text(), add_image(), 및 end_page()와 함께 빌드합니다.
  • PdfWriter: PdfMetadata 인스턴스를 전달하고 write(doc)을 호출하여 어떤 RenderDocument에서 PDF 바이트 배열을 생성합니다.
  • PdfMetadata: 출력 PDF의 title, creator, producer, creation_date, 및 trapped 필드를 설정합니다.
  • RasterRenderer: RenderDocumentRasterSurface로 렌더링하고; encode_png() 또는 encode_bmp()로 인코딩합니다.
  • Unicode encoding: PDF 출력 레이어는 CJK 및 Cyrillic을 포함한 다중 스크립트 Unicode 텍스트를 씁니다.

저수준 렌더링 사용 사례

  • 맞춤 PDF 생성: 중간 PS/XPS 파일 없이 벡터 경로, 텍스트 및 이미지를 사용하여 페이지를 구축합니다.
  • Pixel-perfect testing: RasterRenderer를 사용하여 문서를 렌더링하고 자동화된 테스트에서 픽셀 출력물을 비교합니다.
  • 폰트 포함: TrueType 글꼴을 FontResolverbuild_embedded_font()를 사용하여 올바르게 렌더링합니다.
  • Color management: 경로와 텍스트에 DeviceRGB 또는 CIE 기반 색 공간을 사용하는 Paint 객체를 적용합니다.

PS를 PDF로 변환

PostScript 파일에 액세스하려면 PsDocument.from_file()을 호출하고, PDF 바이트 스트림으로 내보내려면 to_pdf()을 호출하십시오.

from pathlib import Path
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("input.ps")
output_pdf = ps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

EPS를 PNG로 변환

같은 PsDocument 클래스가 EPS 파일을 처리합니다. 원하는 형식과 DPI가 지정된 ImageSaveOptionsto_image()에 전달하십시오.

from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("input.eps")
output_png = eps.to_image(ImageSaveOptions(format="png", dpi=150))
with open("output.png", "wb") as f:
    f.write(output_png)

XPS를 PDF로 변환

XPS 문서에 액세스하려면 XpsDocument.from_file()을 호출하고 PDF 바이트 스트림으로 내보내려면 to_pdf()을 호출하십시오.

from pathlib import Path
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("input.xps")
output_pdf = xps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

자주 묻는 질문

Aspose.Page FOSS for Python은 어떤 라이선스를 사용합니까?

Aspose.Page FOSS - Aspose.Page Python용 FOSS는 MIT 라이선스로 배포되어 상업 및 독점 애플리케이션에서 사용을 허용합니다.

네이티브 종속성이 있습니까?

아니요. 이 라이브러리는 Ghostscript, Adobe Reader, 또는 어떤 네이티브 런타임에도 의존하지 않습니다. Windows, Linux, macOS에서 실행됩니다.

라이브러리가 지원하는 입력 형식은 무엇입니까?

이 라이브러리는 PostScript(.ps), Encapsulated PostScript(.eps), 그리고 XPS(.xps) 파일을 읽습니다.

라이브러리가 생성하는 출력 형식은 무엇인가요?

이 라이브러리는 to_pdf()를 통해 PDF로 내보내고, to_image()ImageSaveOptions를 사용하여 PNG 또는 JPEG 래스터 이미지로 내보냅니다.

디스크 I/O 없이 메모리에서 파일을 처리할 수 있나요?

예. from_bytes()를 사용하여 원시 바이트에서 로드하고, to_pdf() 또는 to_image()에서 반환된 바이트를 파일을 쓰지 않고 직접 사용할 수 있습니다.

  

지원 및 학습 자료

 한국어