Записать дескрипторы

Записать дескрипторы

Записать дескрипторы

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 байтСм. Core исключения

FAQ

Закрывает ли сохранение в поток сам поток после завершения?

Нет — передача потока в save оставляет его открытым после вызова, поэтому вы контролируете его жизненный цикл. Сохранение по пути к файлу, напротив, открывает и закрывает файл внутри.

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

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


API Reference Сводка

Класс/МетодОписание:
PsdImage.save(file_path) / PsdImage.save(stream)Сохраняет документ

См. также:

 Русский