PSD Belgelerini Python içinde Kaydetme ve Dışa Aktarma

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:$PYTHONPATH

Adı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 PsdImage

Adı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.

Ayrıca Bakınız

 Türkçe