Pemecahan Masalah Aspose.PSD FOSS for Python

Pemecahan Masalah Aspose.PSD FOSS for Python

Pemecahan Masalah Aspose.PSD FOSS untuk Python

Halaman ini mencakup masalah paling umum yang ditemui saat memuat, memeriksa, dan menyimpan dokumen PSD/PSB dengan Aspose.PSD FOSS untuk Python.


Masalah Memuat

PsdLoadException dengan pesan tentang versi yang tidak didukung

Kolom versi PSD yang dideklarasikan dalam file tidak berupa nilai PSD standar maupun nilai PSB dokumen besar. Pastikan file tersebut merupakan dokumen PSD/PSB yang asli dan tidak rusak sebelum memuat:

try:
    image = PsdImage.load("input.psd")
except PsdLoadException as ex:
    print(f"Not a valid PSD/PSB file: {ex}")

PsdLoadException tentang panjang bagian yang melampaui batas

Kolom panjang internal file tidak konsisten dengan ukuran sebenarnya — biasanya ini berarti file terpotong atau rusak, bukan karena menggunakan struktur yang tidak didukung tetapi masih valid. Ekspor ulang file dari aplikasi sumbernya dan coba lagi.


Masalah Penyimpanan

PsdSaveException tentang panjang string Pascal

Nilai string — paling umum nama lapisan atau sumber daya — melebihi 255 byte, maksimum yang dapat dikodekan oleh bidang string Pascal PSD:

layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")

Masalah Penyuntingan

NotSupportedException saat menetapkan properti

Beberapa properti bersifat hanya-baca dalam build FOSS ini. Pada PsdImage: active_layer, image_resources, global_layer_resources, has_transparency_data. Pada Layer: channel_information, layer_mask_data, layer_blending_ranges_data. Anggap ini sebagai hanya-baca — jangan menetapkannya.

Opasitas lapisan tampak salah setelah diatur

Layer.opacity secara konvensional adalah nilai 0-255, bukan fraksi 0.0-1.0 atau persentase:

layer.opacity = 200  # approximately 78% opaque, not 200%

Penghapusan lapisan tidak berpengaruh

PsdImage.layers memiliki setter yang berfungsi pada level koleksi, tetapi elemen daftar individual tidak dapat dihapus begitu saja di tempat — alokasikan kembali seluruh daftar yang telah difilter:

image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]

Masalah Instalasi

Paket tidak ditemukan

Konfirmasi identitas paket yang tepat:

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

Daftar Periksa Diagnostik

Sebelum membuka tiket dukungan, jalankan daftar periksa ini:

  1. Pastikan file tersebut benar-benar PSD/PSB — a PsdLoadException tentang versi yang tidak didukung biasanya berarti file tersebut bukan dokumen PSD/PSB yang asli.
  2. Periksa NotSupportedException — Anda mungkin sedang menetapkan salah satu dari 7 properti hanya-baca yang tercantum di atas alih-alih membacanya.
  3. Verify opacity berada dalam rentang 0-255, bukan 0.0-1.0 atau 0-100.
  4. Jaga nilai string di bawah 255 byte sebelum menyimpan, untuk menghindari PsdSaveException.
  5. Call image.save setelah setiap penyuntingan — perubahan pada sebuah Layer instance tidak disimpan sampai dokumen disimpan.

Lihat Juga

 Bahasa Indonesia