Cara Menyimpan dan Mengekspor Dokumen PSD di Python

Cara Menyimpan dan Mengekspor Dokumen PSD di Python

Panduan ini menunjukkan cara menyimpan dokumen yang telah diedit ke jalur file, ke aliran yang terbuka, dan cara membuang gambar yang dimuat setelahnya. PsdImage.save adalah satu-satunya titik masuk publik untuk menulis kembali dokumen — ia menerima baik jalur file maupun aliran yang sudah terbuka dan dapat ditulisi. Penulis bagian tingkat rendah yang melakukan enkoding byte sebenarnya adalah detail implementasi internal, bukan sesuatu yang Anda panggil secara langsung.

Panduan Langkah demi Langkah

Langkah 1: Instal Paket

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-Python.git
cd Aspose.PSD-FOSS-for-Python
# No packaging manifest is published yet -- run from this folder,
# or add it to PYTHONPATH:
export PYTHONPATH=$PWD:$PYTHONPATH

Langkah 2: Impor Kelas yang Diperlukan

PsdImage adalah satu-satunya kelas yang dibutuhkan contoh-contoh dalam panduan ini:

from aspose_psd_foss.psdimage import PsdImage

Langkah 3: Simpan ke Jalur File

Muat sebuah dokumen, lakukan penyuntingan, lalu simpan kembali ke jalur file:

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

Langkah 4: Simpan ke Aliran Terbuka

Menyediakan aliran alih-alih jalur membuat aliran tetap terbuka setelah penyimpanan — Anda mengontrol kapan menutupnya:

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

Langkah 5: Buang Gambar

Lepaskan sumber daya yang dipegang oleh PsdImage yang dimuat setelah Anda selesai menggunakannya:

image.dispose()

Masalah Umum dan Solusi

RuntimeError: PsdImage has been disposed. saat memanggil save. Gambar sudah dibuang (melalui dispose() atau sebuah with blok yang keluar) sebelum save dipanggil. Panggil save sebelum membuang.

PsdSaveException tentang panjang string Pascal. Nilai string melebihi 255 byte — lihat Menangani Pengecualian Inti PSD and Troubleshooting.

Tidak ada cara untuk memaksa kontainer PSD atau PSB saat menyimpan. Tidak ada API publik untuk memilih format wadah output — penyimpanan selalu mencerminkan format apa pun (is_large_document / is_psb) dokumen dimuat dengan. Jika Anda memerlukan format wadah yang berbeda, tidak ada jalur konversi yang didukung dalam build FOSS ini.

Pertanyaan yang Sering Diajukan

Apakah menyimpan ke stream menutup stream setelahnya?

Tidak — ketika Anda memberikan stream ke save, stream tetap terbuka setelahnya sehingga Anda mengendalikan siklus hidupnya (lihat Langkah 4). Menyimpan ke jalur file, sebaliknya, membuka dan menutup file secara internal.

Bisakah saya memanggil penulis bagian internal secara langsung alih-alih save?

Tidak — penulis pada tingkat bagian merupakan detail implementasi internal yang dipanggil oleh PsdImage.save. Tidak ada cara yang didokumentasikan dan didukung untuk menulis dokumen selain memanggil save pada instance PsdImage.

Lihat Juga

 Bahasa Indonesia