Напишіть дескриптори

Напишіть дескриптори

Запис дескрипторів

PsdImage.save — єдина публічна точка входу для запису документа назад — вона приймає або шлях до файлу, або вже відкритий записувальний потік. Низькорівневий записувач секцій, який здійснює фактичне кодування байтів, є внутрішньою деталлю реалізації, а не тим, що ви викликаєте безпосередньо.


Збереження за шляхом до файлу або у потік

from aspose_psd_foss.psdimage import PsdImage

image = PsdImage.load(input_path)
image.save("output.psd")

Передача потоку замість шляху залишає потік відкритим після завершення — ви керуєте, коли його закрити:

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

Вибір формату контейнера

Не існує публічного API для вибору формату вихідного контейнера під час збереження — збереження завжди копіює той же формат (is_large_document / is_psb), яким був завантажений документ. У цьому FOSS-збірці немає підтримуваного шляху конвертації між PSD і PSB.


Поради та найкращі практики

  • Викличте save перед вивільненням зображення — save на вивільненому PsdImage викликає RuntimeError.
  • Внутрішній записувач рівня розділу, викликаний save, не є задокументованою чи підтримуваною точкою входу самостійно; завжди використовуйте PsdImage.save.

Типові проблеми

ПроблемаПричинаВиправлення
RuntimeError: PsdImage has been disposed.save було викликано після dispose() (або після виходу з блоку with)Викликайте save перед знищенням зображення
PsdSaveException про довжину Pascal-рядкаЗначення рядка перевищує 255 байтівДивитися Основні виключення

FAQ

Чи закриває збереження у потік потік після завершення?

Ні — передача потоку до save залишає його відкритим після цього, тому ви керуєте його життєвим циклом. Навпаки, збереження за шляхом до файлу відкриває і закриває файл всередині.

Чи можу я створити файл PSB з документа, завантаженого як PSD?

Ні — немає публічного API для перевизначення формату контейнера під час збереження; він завжди віддзеркалює формат завантаженого документа.


API Reference Резюме

Клас/МетодОпис
PsdImage.save(file_path) / PsdImage.save(stream)Зберігає документ

Дивіться також

 Українська