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

Aspose.Page FOSS för Python

Gratis, MIT-licensierat Python-bibliotek för att exportera PS-, EPS- och XPS-dokument som PDF och rasterbilder. Inget Office krävs.

Open-Source Python-bibliotek för PS-, EPS- och XPS-konvertering

Aspose.Page FOSS för Python är ett fritt, öppen källkod-bibliotek för att konvertera PostScript (PS), Encapsulated PostScript (EPS) och XPS-dokument i Python-applikationer. Installera det med en enkelt pip install aspose-page-foss kommando och börja exportera dokument till PDF och rasterbilder utan någon proprietär runtime eller systemberoende.

Biblioteket exponerar ett rent API byggt kring PsDocument och XpsDocument. Ladda ett dokument med from_file() eller from_bytes(), anropa sedan to_pdf() för att erhålla en PDF-byte‑ström, eller to_image() med en ImageSaveOptions instans för att rendera till PNG eller JPEG vid en specificerad DPI. En valfri MCP‑server exponerar ps_to_pdf, ps_to_image, xps_to_pdf och xps_to_image som fjärrkonverteringsverktyg som använder FastMCP.

Eftersom biblioteket inte har något beroende av inhemska Office‑bibliotek eller Ghostscript, kör det. identiskt på Windows, Linux och macOS, inklusive CI runners och Docker containers. The kodbasen är MIT-licensierad och hostad på GitHub. Utvecklare som behöver hela den kommersiella API:n kan använda Aspose.Page för Python tillsammans med dessa öppen källkod-resurser. För företagsprodukten, se Aspose.Page for Python — Enterprise Product.

Konvertera PS- och EPS-dokument

  • PS till PDF: Anropa PsDocument.from_file() och sedan to_pdf() för att exportera dokumentet som en PDF byte array.
  • EPS till PDF: PsDocument.from_file() accepterar både .ps och .eps filändelser.
  • PS/EPS till bild: Skicka en ImageSaveOptions(format="png", dpi=150) till to_image() för PNG- eller JPEG-utdata.
  • Bearbetning i minnet: Alla konverteringar returnerar bytes — inga temporära filer krävs.
  • Från byte: Använd PsDocument.from_bytes() för att bearbeta PS/EPS-data från en nätverksström eller uppladdning.

Var PS/EPS‑konvertering används

  • Document pipelines: Exportera äldre PostScript-rapporter till PDF för arkivering eller distribution.
  • Print workflows: Omvandla PS-utdata från skrivardrivrutiner till PDF- eller bildförhandsgranskningar.
  • EPS‑tillgångsbehandling: Rasterisera EPS‑illustrationer till PNG för webb‑ eller dokumentationsbruk.
  • Batchautomatisering: Bearbeta kataloger med PS/EPS-filer i CI- eller cron-jobb utan ett GUI.

Konvertera XPS-dokument

  • XPS till PDF: Anropa XpsDocument.from_file() sedan to_pdf() för att exportera XPS-filen som en PDF byte array.
  • XPS till bild: Anropa to_image() med ImageSaveOptions för att rendera XPS‑sidor till PNG eller JPEG.
  • Från byte: Använd XpsDocument.from_bytes() för in-memory XPS-data från uppladdningar eller strömmar.
  • Sidåtkomst: Använd add_page(), get_page() och remove_page() för att arbeta med enskilda sidor.
  • XPS-paketläsning: Använd XpsPackage.from_file() för att inspektera råa XPS-paketdelar.

Var XPS‑konvertering används

  • Windows-utskriftsspool: Exportera XPS-spoolfiler från Windows utskriftsundersystemet till PDF eller bild.
  • Dokumentarkivering: Omvandla XPS-filer till universellt läsbar PDF för långtidslagring.
  • Generering av förhandsgranskning: Rendera XPS-sidor till PNG-miniatyrer för dokumenthanteringssystem.
  • Plattformsoberoende användning: Bearbeta XPS-filer på Linux- och macOS-servrar där inbyggda visare inte är tillgängliga.

MCP-server för fjärrkonvertering

  • Verktygsexponering: create_server() registrerar ps_to_pdf, ps_to_image, xps_to_pdf och xps_to_image som MCP-verktyg via FastMCP.
  • EPS metadata: Verktyget eps_metadata extraherar omslutningsruta och DSC‑huvudfält från EPS‑filer.
  • In- och utmatningstyper: McpInput accepterar en filsökväg eller base64‑kodade byte; McpOutput returnerar base64‑byte eller skriver till en sökväg.
  • Conversion options: McpConversionOptions styr utdataformat och DPI för bildkonverteringar.
  • Valfritt beroende: FastMCP krävs endast för MCP-serverhosting; kärnkonvertering fungerar utan det.

MCP-användningsfall

  • AI agent pipelines: Exponera dokumentkonvertering som ett verktyg som kan anropas av Claude eller andra MCP-kompatibla agenter.
  • Microservices: Kör en lättviktig konverteringstjänst som accepterar PS/EPS/XPS över HTTP.
  • IDE plugins: Ytkonverteringsfunktionalitet till redigerare som stöder MCP tool servers.
  • Arbetsflödesautomatisering: Integrera konvertering i n8n eller liknande low-code automationsplattformar.

Render-modell och PDF-utdata

  • RenderModelBuilder: Bygg en RenderDocument med begin_page(), add_path(), add_text(), add_image() och end_page().
  • PdfWriter: Skicka en PdfMetadata instans och anropa write(doc) för att producera en PDF-bytearray från vilken RenderDocument som helst.
  • PdfMetadata: Ställ in title, creator, producer, creation_date och trapped fält på den utdata PDF-filen.
  • RasterRenderer: Rendera en RenderDocument till en RasterSurface; koda med encode_png() eller encode_bmp().
  • Unicode encoding: PDF-utdata lagret skriver Unicode-text med flera skript inklusive CJK och kyrilliska.

Lågnivårenderingsanvändningsfall

  • Anpassad PDF-generering: Skapa sidor med vektorvägar, text och bilder utan en mellanliggande PS/XPS-fil.
  • Pixel-perfect testing: Använd RasterRenderer för att rendera dokument och jämföra pixelutdata i automatiserade tester.
  • Font inbäddning: Bädda in TrueType-teckensnitt med FontResolver och build_embedded_font() för korrekt rendering.
  • Färghantering: Applicera Paint objekt med DeviceRGB- eller CIE-baserade färgrymder på banor och text.

Konvertera PS till PDF

Anropa PsDocument.from_file() för att komma åt PostScript‑filen och anropa to_pdf() för att exportera den som en PDF‑bytesträmm.

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)

Konvertera EPS till PNG

Samma PsDocument klass hanterar EPS-filer. Skicka ett ImageSaveOptions med önskat format och DPI till 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)

Konvertera XPS till PDF

Anropa XpsDocument.from_file() för att komma åt XPS‑dokumentet och anropa to_pdf() för att exportera det som en PDF‑bytestöm.

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)

Vanliga Frågor

Vilken licens använder Aspose.Page FOSS för Python?

Aspose.Page FOSS för Python släpps under MIT License, vilket tillåter användning i kommersiella och proprietära applikationer.

Finns det några inbyggda beroenden?

Nej. Biblioteket har inget beroende av Ghostscript, Adobe Reader eller någon inbyggd runtime. Det körs på Windows, Linux och macOS.

Vilka inmatningsformat stöder biblioteket?

Biblioteket läser PostScript (.ps), Encapsulated PostScript (.eps) och XPS (.xps)-filer.

Vilka utdataformat producerar biblioteket?

Biblioteket exporterar till PDF via to_pdf() och till PNG- eller JPEG-rasterbilder via to_image() med ImageSaveOptions.

Kan jag bearbeta filer i minnet utan disk I/O?

Ja. Använd from_bytes() för att läsa in från råa bytes och de returnerade bytena från to_pdf() eller to_image() direkt utan att skriva filer.

  

Stöd och Lärande Resurser

 Svenska