编写描述符

写入描述符

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 — 对已释放的 PsdImage 调用 save 会引发 RuntimeError。
  • 由 save 调用的内部节级写入器本身并未在文档中记录或受支持;请始终通过 PsdImage.save 进行调用。

常见问题

问题原因修复
RuntimeError: PsdImage has been disposed.save 在 dispose() 之后被调用(或在 with 块退出后)在释放图像之前调用 save
PsdSaveException 关于 Pascal 字符串长度字符串值超过 255 字节参见 核心异常

FAQ

将数据保存到流后会关闭该流吗?

不会 — 将流传递给 save 后该流保持打开状态,由你自行管理其生命周期。相反,保存到文件路径时,文件会在内部打开并关闭。

我能否从以 PSD 加载的文档生成 PSB 文件?

不会 — 没有公开的 API 可以在保存时覆盖容器格式;它始终与已加载文档的原始格式保持一致。


API Reference 摘要

类/方法描述
PsdImage.save(file_path) / PsdImage.save(stream)保存文档

另请参阅

 中文