Conversione PS ed EPS

Conversione PS ed EPS

Conversione PS e EPS

PsDocument è il punto di ingresso per caricare i file PostScript (.ps) e i file Encapsulated PostScript (.eps). Entrambi i formati sono gestiti dalla stessa classe tramite la stessa interfaccia.


Caricamento di un file PS o EPS

Usa PsDocument.from_file() per caricare un documento da un percorso file. La proprietà is_eps indica se il file caricato è un file EPS.

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)

Per caricare da byte grezzi (ad es. un upload o uno stream di rete), usa from_bytes():

from aspose.page.ps.document import PsDocument

with open("document.ps", "rb") as f:
    data = f.read()
doc = PsDocument.from_bytes(data)

Esportazione in PDF

Chiama to_pdf() su un PsDocument caricato per ottenere un array di byte PDF. Scrivi il risultato su disco o restituiscilo direttamente da un gestore HTTP.

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)

Esportazione in PNG o JPEG

Passa un’istanza ImageSaveOptions a to_image(). Imposta format su "png" o "jpeg" e dpi sulla risoluzione desiderata.

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))

Lettura dei metadati EPS DSC

PsDocument.dsc restituisce un’istanza DscMetadata quando i commenti dell’intestazione DSC sono presenti nel file EPS. Usala per leggere i campi bounding box, titolo e creatore prima della conversione.

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)

Suggerimenti e migliori pratiche

  • Usa from_bytes() durante l’elaborazione degli upload per evitare di scrivere file temporanei.
  • Controlla is_eps per ramificare la logica durante l’elaborazione di un batch misto di file PS ed EPS.
  • Imposta dpi=150 o superiore per l’output raster utilizzato nei sistemi di anteprima dei documenti.
  • Tutti i metodi di conversione restituiscono bytes — archiviali o trasmettili senza I/O su disco, se necessario.

Problemi comuni

ProblemaCausaCorrezione
FileNotFoundErrorIl percorso passato a from_file() non esisteVerifica il percorso del file prima di chiamare from_file()
Output PDF vuotoIl file PS non contiene contenuto renderizzabileIspeziona il sorgente PS per gli operatori showpage mancanti
Raster a bassa risoluzioneIl DPI predefinito è 96Passa ImageSaveOptions(dpi=150) o superiore

FAQ

Posso convertire i file EPS in PDF?

Sì. PsDocument.from_file() accetta entrambe le estensioni .ps e .eps. Chiama to_pdf() sul documento restituito per ottenere i byte PDF.

La conversione richiede Ghostscript?

No. La libreria non dipende da Ghostscript né da alcun runtime nativo.

Posso elaborare i file PS senza scrivere su disco?

Sì. Usa from_bytes() per caricare da un oggetto bytes e utilizza direttamente il bytes restituito da to_pdf() o to_image() — non è necessario scrivere file.


API Reference Riepilogo

Classe / MetodoDescrizione
PsDocument.from_file(path)Carica PS o EPS da un percorso file
PsDocument.from_bytes(data)Carica PS o EPS da byte grezzi
PsDocument.to_pdf(options)Esporta in byte PDF
PsDocument.to_image(options)Esporta in byte di immagine raster
PsDocument.is_epsTrue se il file caricato è EPS
PsDocument.dscMetadati dell’intestazione DSC (file EPS)
DscMetadata.bounding_boxBounding box EPS come (x0, y0, x1, y1)
DscMetadata.titleTitolo dall’intestazione DSC EPS
ImageSaveOptions.formatFormato di output: “png” o “jpeg”
ImageSaveOptions.dpiRisoluzione di output in DPI

Vedi anche

 Italiano