記述子を書き込む
書き込みディスクリプタ
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 バイトを超えています | 参照 Core 例外 |
FAQ
ストリームに保存した後、ストリームは閉じられますか?
いいえ — save にストリームを渡すと、保存後もストリームは開いたままになるので、ライフサイクルはあなたが管理します。対照的に、ファイルパスに保存する場合は、内部でファイルを開いて閉じます。
PSDとして読み込んだドキュメントからPSBファイルを作成できますか?
いいえ — 保存時にコンテナ形式を上書きする公開された API はなく、常に読み込んだドキュメントの形式をそのまま反映します。
API Reference の概要
| クラス/メソッド | 説明 |
|---|---|
PsdImage.save(file_path) / PsdImage.save(stream) | ドキュメントを保存します |