Hogyan mentse és exportálja a PSD dokumentumokat a Python

Hogyan mentse és exportálja a PSD dokumentumokat a Python

Ez az útmutató bemutatja, hogyan menthet egy szerkesztett dokumentumot egy fájlútra, egy nyitott adatfolyamra, és hogyan szabadíthatja fel a betöltött képet később. PsdImage.save az egyetlen nyilvános belépési pont a dokumentum visszaírásához – elfogadja vagy a fájlútvonalat, vagy egy már nyitott írható adatfolyamot. Az alacsony szintű szekcióíró, amely a tényleges bájt kódolást végzi, egy belső megvalósítási részlet, nem pedig valami, amit közvetlenül hívna.

Lépésről-lépésre útmutató

1. lépés: A csomag telepítése

pip install aspose-psd-foss

2. lépés: A szükséges osztályok importálása

PsdImage az egyetlen osztály, amire az útmutató példái szükségük van:

from aspose_psd_foss.psdimage import PsdImage

3. lépés: Mentés fájl útvonalra

Tölts be egy dokumentumot, végezz módosítást, majd mentsd vissza egy fájl útvonalra:

image = PsdImage.load("input.psd")
image.layers[0].is_visible = False
image.save("output.psd")

4. lépés: Mentés nyitott adatfolyamra

Ha egy adatfolyamot adsz meg útvonal helyett, a mentés után az adatfolyam nyitva marad — te irányítod, mikor zárd le:

with open("output.psd", "wb") as stream:
    image.save(stream)

5. lépés: Kép felszabadítása

Szabadítsd fel a betöltött PsdImage által foglalt erőforrásokat, miután befejezted a használatát:

image.dispose()

Gyakori problémák és megoldások

RuntimeError: PsdImage has been disposed. híváskor save. A kép már felszabadítva volt (via dispose() vagy egy with blokk, amely kilépett) előtt save hívásra került. Hívja save a felszabadítás előtt.

PsdSaveException a Pascal karakterlánc hosszáról. A karakterlánc értéke meghaladja a 255 bájtot — lásd PSD Core kivételek kezelése and Troubleshooting.

Nincs mód arra, hogy a mentéskor kényszerítsünk PSD vagy PSB tárolót. Nincs nyilvános API a kimeneti tárolóformátum kiválasztásához — a mentés mindig tükrözi azt a formátumot (is_large_document / is_psb) amellyel a dokumentum betöltődött. Ha más tárolóformátumra van szükség, ebben a FOSS buildben nincs támogatott konverziós útvonal.

Gyakran Ismételt Kérdések

Bezárja a streamet a mentés után?

Nem — amikor egy streamet ad át a save-nek, a stream nyitva marad, így Ön vezérli annak életciklusát (lásd a 4. lépést). Ezzel szemben, egy fájlútra mentés esetén a fájl belsőleg megnyílik és bezáródik.

Hívhatom közvetlenül a belső szekcióírót a save helyett?

Nem — a szekciószintű író egy belső megvalósítási részlet, amelyet a PsdImage.save hív meg. Nincs dokumentált, támogatott mód egy dokumentum írására a save hívása PsdImage példányon kívül.

Lásd még:

 Magyar