1. Produkty
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS for Python

Darmowa, na licencji MIT biblioteka Python do eksportowania dokumentów PS, EPS i XPS jako PDF oraz obrazy rastrowe. Nie wymaga Office.

Biblioteka Python Open-Source dla konwersji PS, EPS i XPS

Aspose.Page FOSS dla Python to darmowa, otwarto‑źródłowa biblioteka do konwertowania PostScript (PS), Encapsulated PostScript (EPS) oraz XPS w aplikacjach Python. Zainstaluj ją za pomocą jednego polecenia pip install aspose-page-foss i rozpocznij eksportowanie dokumentów do PDF oraz obrazów rastrowych bez żadnych własnościowych środowisk uruchomieniowych ani zależności systemowych.

Biblioteka udostępnia czysty API zbudowany wokół PsDocument i XpsDocument. Załaduj dokument przy użyciu from_file() lub from_bytes(), a następnie wywołaj to_pdf(), aby uzyskać strumień bajtów PDF, lub to_image() z instancją ImageSaveOptions, aby renderować do PNG lub JPEG w określonym DPI. Opcjonalny serwer MCP udostępnia ps_to_pdf, ps_to_image, xps_to_pdf i xps_to_image jako zdalne narzędzia konwersji wykorzystujące FastMCP.

Ponieważ biblioteka nie ma zależności od natywnych bibliotek Office ani Ghostscript, działa identycznie na Windows, Linux i macOS, w tym w środowiskach CI oraz kontenerach Docker. Kod źródłowy jest licencjonowany na licencji MIT i hostowany na GitHub. Programiści, którzy potrzebują pełnej komercyjnej API mogą używać Aspose.Page dla Python obok tych otwarto‑źródłowych zasobów. W przypadku produktu korporacyjnego zobacz Aspose.Page for Python — Enterprise Product.

Konwersja dokumentów PS i EPS

  • PS do PDF: Wzywać PsDocument.from_file(), a następnie to_pdf() w celu eksportowania dokumentu jako matrycy bajtów PDF.
  • EPS do PDF: PsDocument.from_file() akceptuje zarówno rozszerzenia plików .ps jak i .eps.
  • PS/EPS do obrazu: Przekaż ImageSaveOptions(format="png", dpi=150) na to_image() w przypadku wyjścia PNG lub JPEG.
  • ** Przetwarzanie w pamięci:** Wszystkie konwersje zwracają bytes nie wymagają plików tymczasowych.
  • Z bajtów: Użyj PsDocument.from_bytes() do przetwarzania danych PS/EPS z strumienia sieciowego lub przesyłania.

W przypadku zastosowania konwersji PS/EPS

  • Pipeline dokumentu: Eksportowanie raportów PostScript do pliku PDF w celu archiwizacji lub dystrybucji.
  • Przepływy pracy druku: Przekształcenie wyjścia PS z sterowników drukowania w PDF lub przeglądy obrazów.
  • ** Przetwarzanie zasobów EPS:** Zrastyfikuj ilustracje z E PS na PNG do użytku w sieci lub dokumentacji.
  • Automatyzacja partii: Proces katalogów plików PS/EPS w CI lub cron bez interfejsu graficznego.

Konwersja dokumentów XPS

  • XPS do PDF: Wzywać XpsDocument.from_file(), a następnie to_pdf() w celu eksportowania pliku XPS jako matrycy bajtów PDF.
  • XPS do obrazu: Wzywaj to_image() za pomocą ImageSaveOptions, aby odtwarzać strony XPS w PNG lub JPEG.
  • Z bajtów: Użyj XpsDocument.from_bytes() do danych XPS w pamięci z przesyłania lub strumienia.
  • Wyświetlanie stron: Użyj add_page(), get_page() i remove_page() do pracy z poszczególnymi stroną.
  • ** Odczytywanie pakietu XPS:** Do sprawdzenia surowych części pakietów Xps użyj XpsPackage.from_file().

Gdzie używa się konwersji XPS

  • Spole drukowania systemu Windows: Eksportowanie plików spoolu XPS z podsystemu druku systemu Microsoft do PDF lub obrazu.
  • Archiwizowanie dokumentów: Przekształcenie plików XPS w uniwersalnie czytelne pliki PDF do długoterminowego przechowywania.
  • Generacja przeglądu: Zrendowanie stron XPS na miniatury PNG w systemach zarządzania dokumentami.
  • Wykorzystanie w różnych platformach: Przetwarzanie plików XPS na serwerach Linux i macOS, gdzie nie są dostępne native viewers.

Serwer MCP do zdalnego konwersji

  • Ekspozycja narzędzia: create_server() rejestruje ps_to_pdf, ps_to_image, xps_to_pdf i xps_to_image jako narzędzia MCP za pośrednictwem FastMCP.
  • Metadane EPS: Narzędzie eps_metadata wyodrębnia pole ograniczające i pola nagłówka DSC z plików EPS.
  • Typy wejścia/wyjścia: McpInput akceptuje ścieżkę do pliku lub bajty zakodowane w base64; McpOutput zwraca bajty w base64 lub zapisuje do ścieżki.
  • Opcje konwersji: McpConversionOptions kontroluje format wyjściowy i DPI przy konwersjach obrazów.
  • Opcjonalna zależność: FastMCP jest wymagany tylko do hostowania serwera MCP; podstawowa konwersja działa bez niego.

Przypadki zastosowania MCP

  • Pipeline agentów AI: Wyjaśnij konwersję dokumentów jako narzędzie, które może być wywoływane przez Claude lub inne podmioty zgodne z MCP.
  • Mikroserwisy: Uruchomić lekką usługę konwersji akceptującą PS/EPS/XPS przez HTTP.
  • Wtyczki IDE: Funkcja konwersji powierzchni do edytorów obsługujących serwer narzędzi MCP.
  • Automatyzacja przepływu pracy: Zintegrowanie konwersji z platformami n8n lub podobnymi platformą automatyki o niskich oprocentowaniach.

Model renderowy i wydajność PDF

  • RenderModelBuilder: Zbuduj RenderDocument przy użyciu begin_page(), add_path(), add_text(), add_image() i end_page().
  • PdfWriter: Przekaż instancję PdfMetadata i wywołaj write(doc), aby wygenerować tablicę bajtów PDF z dowolnego RenderDocument.
  • PdfMetadata: Ustaw pola title, creator, producer, creation_date i trapped w wyjściowym pliku PDF.
  • RasterRenderer: Renderuj RenderDocument do RasterSurface; zakoduj przy użyciu encode_png() lub encode_bmp().
  • Unicode encoding: Warstwa wyjściowa PDF zapisuje tekst Unicode wieloskripty, w tym CJK i cyrylicę.

Przypadki wykorzystania w zakresie niskiego poziomu renderowania

  • Praca PDF: Tworzenie stron z ścieżkami wektorów, tekstem i obrazami bez pliku PS/XPS.
  • ** Badanie bez zarzutu pikseli:** Użyj RasterRenderer do renderowania dokumentów i porównania wyników pikselów w zautomatyzowanych testach.
  • Wstawianie czcionek: Wstawiać czciory TrueType przy użyciu FontResolver i build_embedded_font() w celu poprawnego renderowania.
  • ** Zarządzanie kolorami:** Zastosowanie obiektów Paint z przestrzeniami barwnych opartymi na DeviceRGB lub CIE do ścieżek i tekstu.

Konwertować PS na PDF

Wzywanie PsDocument.from_file() w celu uzyskania dostępu do pliku PostScript i wezwanieto_pdf() do eksportowania go jako strumienie bajtów 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)

Konwersja EPS na PNG

Ta sama klasa PsDocument obsługuje pliki EPS. Przekaż ImageSaveOptions z pożądanym formatem i DPI do to_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)

Konwersja XPS na PDF

Wzywanie XpsDocument.from_file() w celu uzyskania dostępu do dokumentu XPS i wezwanieto_pdf() do eksportowania go jako strumienie bajtów 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)

Najczęściej Zadawane Pytania

Jaką licencję używa Aspose.Page FOSS dla Pythona?

Aspose.Page FOSS dla Pythona jest wydany na podstawie licencji MIT, umożliwiającej użycie w komercyjnych i zastrzeżonych aplikacjach.

Czy są jakieś zależności?

Biblioteka nie jest uzależniona od Ghostscript, Adobe Reader czy innego native runtime.

Które formaty wejścia obsługuje biblioteka?

Biblioteka odczytuje pliki PostScript (.ps), Encapsulated Post Script (.eps) i XPS (.xps).

Jakie formaty wyjścia produkuje biblioteka?

Biblioteka eksportuje do PDF za pośrednictwem to_pdf() i na PNG lub JPEG obrazy rasterowe za pomocą to_image() z ImageSaveOptions.

Czy mogę przetwarzać pliki w pamięci bez dysku I/O?

Tak. Użyj from_bytes() do ładowania z bajtów surowych i przywróconych bajetów od to_pdf() lub to_image() bezpośrednio bez pisania plików.

  

Zasoby Wsparcia i Nauki

 Polski