PSD Belgelerini Python içinde Kaydetme ve Dışa Aktarma
Bu kılavuz, düzenlenmiş bir belgeyi bir dosya yoluna, açık bir akıma nasıl kaydedeceğinizi ve ardından yüklenen bir görüntüyü nasıl serbest bırakacağınızı gösterir. PsdImage.save, bir belgeyi geri yazmak için tek genel giriş noktasıdır — bir dosya yolu ya da hâlihazırda açık bir yazılabilir akımı kabul eder. Gerçek bayt kodlamasını yapan düşük seviyeli bölüm yazıcısı içsel bir uygulama ayrıntısıdır, doğrudan çağırdığınız bir şey değildir.
Adım Adım Kılavuz
Adım 1: Paketi Yükleyin
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:$PYTHONPATHAdım 2: Gerekli Sınıfları İçe Aktarın
PsdImage, bu kılavuzun örneklerinin ihtiyaç duyduğu tek sınıftır:
from aspose_psd_foss.psdimage import PsdImageAdım 3: Dosya Yoluna Kaydet
Bir belgeyi yükleyin, bir düzenleme yapın ve ardından dosya yoluna geri kaydedin:
image = PsdImage.load("input.psd")
image.layers[0].is_visible = False
image.save("output.psd")Adım 4: Açık Akışa Kaydet
Bir yol yerine bir akış geçmek, kaydetme işleminden sonra akışı açık bırakır — kapanış zamanını siz kontrol edersiniz:
with open("output.psd", "wb") as stream:
image.save(stream)Adım 5: Görüntüyü Serbest Bırak
Yüklenen PsdImage tarafından tutulan kaynakları, işiniz bittiğinde serbest bırakın:
image.dispose()Yaygın Sorunlar ve Çözümler
RuntimeError: PsdImage has been disposed. çağırılırken save. Görüntü zaten serbest bırakıldı (şu yolla dispose() veya bir with çıkmış blok) önce save çağrıldı. Şunu çağırın save serbest bırakmadan önce.
PsdSaveException Pascal dizesi uzunluğu hakkında. Bir dize değeri 255 baytı aşıyor — bkz PSD Core İstisnalarını İşleme and Troubleshooting.
Kaydetme sırasında bir PSD veya PSB kapsayıcısını zorlamanın bir yolu yok. Çıktı kapsayıcı formatını seçmek için genel bir API yoktur — bir kaydetme her zaman yüklendiği formatı (is_large_document / is_psb) belgenin yüklendiği formatı yansıtır. Farklı bir kapsayıcı formatına ihtiyacınız varsa, bu FOSS yapı içinde desteklenen bir dönüşüm yolu yoktur.
Sıkça Sorulan Sorular
Bir akışa kaydetmek, akışı sonradan kapatır mı?
Hayır — bir akışı save öğesine ilettiğinizde, akış sonradan açık bırakılır, böylece yaşam döngüsünü siz kontrol edersiniz (Bkz. Adım 4). Buna karşıt olarak, bir dosya yoluna kaydetmek, dosyayı dahili olarak açar ve kapatır.
İç bölüm yazıcıyı save yerine doğrudan çağırabilir miyim?
Hayır — bölüm-seviyesi yazar, PsdImage.save tarafından çağrılan dahili bir uygulama detayıdır. PsdImage örneği üzerinde save çağırmak dışında bir belge yazmanın belgelenmiş, desteklenen bir yolu yok.