PS- en EPS-conversie
PS- en EPS-conversie
PsDocument is het instappunt voor het laden van PostScript (.ps) en Encapsulated PostScript (.eps) bestanden. Beide formaten worden afgehandeld door dezelfde klasse via dezelfde interface.
Een PS- of EPS-bestand laden
Gebruik PsDocument.from_file() om een document te laden vanuit een bestandspad. De is_eps eigenschap geeft aan of het geladen bestand een EPS-bestand is.
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("document.ps")
eps = PsDocument.from_file("illustration.eps")
print("Is EPS:", eps.is_eps)Om te laden vanuit ruwe bytes (bijv. een upload of netwerkstream), gebruik from_bytes():
from aspose.page.ps.document import PsDocument
with open("document.ps", "rb") as f:
data = f.read()
doc = PsDocument.from_bytes(data)Exporteren naar PDF
Roep to_pdf() aan op een geladen PsDocument om een PDF-byte-array te verkrijgen. Schrijf het resultaat naar schijf of retourneer het direct vanuit een HTTP handler.
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)Exporteren naar PNG of JPEG
Geef een ImageSaveOptions-instantie door aan to_image(). Stel format in op "png" of "jpeg" en dpi op de gewenste resolutie.
from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("output.png").write_bytes(eps.to_image(opts))Lezen van EPS DSC-metadata
PsDocument.dsc retourneert een DscMetadata-instantie wanneer DSC-headercommentaren aanwezig zijn in het EPS-bestand. Gebruik het om de bounding box, titel- en maker-velden te lezen vóór het converteren.
from aspose.page.ps.document import PsDocument
eps = PsDocument.from_file("illustration.eps")
dsc = eps.dsc
if dsc is not None:
print("Title:", dsc.title)
print("Bounding box:", dsc.bounding_box)
print("Creator:", dsc.creator)Tips en best practices
- Gebruik
from_bytes()bij het verwerken van uploads om het schrijven van tijdelijke bestanden te voorkomen. - Controleer
is_epsom de logica te vertakken bij het verwerken van een gemengde batch van PS- en EPS-bestanden. - Stel
dpi=150of hoger in voor rasteruitvoer die wordt gebruikt in documentpreviewsystemen. - Alle conversiemethoden retourneren
bytes— sla ze op of stream ze zonder schijf-I/O indien nodig.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
FileNotFoundError | Pad dat aan from_file() is doorgegeven bestaat niet | Controleer het bestandspad voordat je from_file() aanroept |
| Lege PDF-uitvoer | PS-bestand bevat geen renderbare inhoud | Inspecteer de PS-bron op ontbrekende showpage-operatoren |
| Lage-resolutie raster | Standaard DPI is 96 | Geef ImageSaveOptions(dpi=150) of hoger door |
FAQ
Kan ik EPS-bestanden naar PDF converteren?
Ja. PsDocument.from_file() accepteert zowel de extensies .ps als .eps. Roep to_pdf() aan op het geretourneerde document om PDF-bytes te verkrijgen.
Vereist de conversie Ghostscript?
Nee. De bibliotheek heeft geen afhankelijkheid van Ghostscript of een native runtime.
Kan ik PS-bestanden verwerken zonder naar schijf te schrijven?
Ja. Gebruik from_bytes() om te laden vanuit een bytes-object en gebruik de geretourneerde bytes van to_pdf() of to_image() rechtstreeks — er hoeven geen bestanden te worden geschreven.
API Reference Samenvatting
| Klasse / Methode | Beschrijving |
|---|---|
PsDocument.from_file(path) | Laad PS of EPS vanaf een bestandspad |
PsDocument.from_bytes(data) | Laad PS of EPS vanuit ruwe bytes |
PsDocument.to_pdf(options) | Exporteer naar PDF-bytes |
PsDocument.to_image(options) | Exporteer naar rasterafbeeldingsbytes |
PsDocument.is_eps | Waar als het geladen bestand EPS is |
PsDocument.dsc | DSC-headermetadata (EPS-bestanden) |
DscMetadata.bounding_box | EPS-boundingbox als (x0, y0, x1, y1) |
DscMetadata.title | Titel uit EPS DSC-header |
ImageSaveOptions.format | Uitvoerformaat: “png” of “jpeg” |
ImageSaveOptions.dpi | Uitvoerresolutie in DPI |