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:$PYTHONPATHDaftar Periksa Diagnostik
Sebelum membuka tiket dukungan, jalankan daftar periksa ini:
- Pastikan file tersebut benar-benar PSD/PSB — a
PsdLoadExceptiontentang versi yang tidak didukung biasanya berarti file tersebut bukan dokumen PSD/PSB yang asli. - Periksa
NotSupportedException— Anda mungkin sedang menetapkan salah satu dari 7 properti hanya-baca yang tercantum di atas alih-alih membacanya. - Verify
opacityberada dalam rentang 0-255, bukan 0.0-1.0 atau 0-100. - Jaga nilai string di bawah 255 byte sebelum menyimpan, untuk menghindari
PsdSaveException. - Call
image.savesetelah setiap penyuntingan — perubahan pada sebuahLayerinstance tidak disimpan sampai dokumen disimpan.