1. 製品
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for Python

Python 用 Aspose.PSD FOSS

オープンソース Python ライブラリで、PSD/PSB ファイルの読み込み、検査、保存とレイヤーメタデータへのアクセスが可能です。MIT ライセンス、Adobe Photoshop は不要です。

PSD/PSB ファイル用のオープンソース Python ライブラリ

Aspose.PSD FOSS for Python は、無料で MIT ライセンスの純粋な Python ライブラリで、読み込み、検査、
保存 Adobe Photoshop PSD と PSB ファイルを、Adobe Photoshop や任意の
プロプライエタリ ランタイムが不要です。

それは PsdImage と
Layer を中心とした軽量でスタンドアロンな API を提供し、Python 開発者に対して、PSD ドキュメントの構造へのプログラム的アクセスを、
なしで
ネイティブ依存性がなくコンパイルできます。

このライブラリは PSD/PSB ファイルの寸法、カラーモード、ビット深度、および圧縮
方式を読み取り、PsdImage.layers を通じてすべてのレイヤーを公開します:各 Layer は名前、
境界、透明度、可視性、ブレンドモードキー(BlendMode)を報告し、
下位レベルのチャンネル情報(ChannelInformation)とマスクデータ(LayerMaskData)も提供します。

レイヤーメタデータのサブセット
— 名前、境界(left/top/right/bottom)、ブレンドモード — は
その場で変更し、PsdImage.save() でディスクに永続化できます;他のすべては
表面上はこの FOSS ビルドでは読み取り専用です。

Aspose.PSD FOSS for Python は MIT ライセンスです。インストールは
pip install aspose-psd-foss — このライブラリはサードパーティのネイティブ依存がゼロで、
Python 標準ライブラリのみを使用します。

エンタープライズ製品ファミリーについては、Aspose.PSD — Enterprise Product Family をご覧ください。

PSD/PSB ファイルの読み込みと検査

  • Image.load(file_path) はファイルを開き、PsdImage インスタンスを返します
  • PsdImage.width、height、channels_count はキャンバスのサイズとチャンネル数を報告します
  • ドキュメントヘッダーの詳細は、解析されたファイルのカラーモードと圧縮メタデータから読み取られます
  • PsdImage.layers はドキュメント順に Layer オブジェクトの全リストを返します

設計ファイルの検証とカタログ化

  • 下流プロセスに渡す前に、デザインファイルのバッチを検証する
  • PSD/PSB の寸法とレイヤー数の軽量アセットカタログを構築する
  • 標準の PSD と異なる取り扱いが必要な PSB(大規模ドキュメント)ファイルを検出する

レイヤーの操作

  • PsdImage.layers はドキュメント順で全ての Layer を返します。各 Layer は name、bounds、opacity、is_visible、blend_mode_key を公開します
  • Layer.channel_information は、より詳細な検査のためにチャンネルメタデータを公開します
  • Layer.channels_count は、レイヤーが持つ画像チャンネルの数を報告します
  • PsdImage.layers 自体は再代入可能で、レイヤーの削除や順序変更に使用できます

監査レイヤー構造

  • Photoshop を開かずに PSD のレイヤー構造を監査する
  • デザインレビューのためにレイヤー名、可視性、ブレンドモードのレポートを生成する
  • 以前の編集で残された非表示または不透明度ゼロのレイヤーを特定する

基本レイヤーメタデータを編集

  • Layer.name、Layer.left/top/right/bottom、および Layer.blend_mode_key は直接設定できます
  • PsdImage.save(file_path) は変更されたドキュメントをディスクに保存します
  • PsdImage.load で保存されたファイルを再読み込みすると、編集が正しく往復したことが確認できます
  • 上記に列挙されていないプロパティ(チャンネル情報、マスクデータ、ブレンド範囲など)を設定しようとすると NotSupportedException がスローされます — このビルドはメタデータのみの編集をサポートしており、完全な再作成はサポートしていません

軽量、スクリプト可能な編集

  • 自動ファイル整理パイプラインの一部として、プログラムでレイヤーの名前を変更する
  • デザインツールを使用せずに、レイヤーのバウンディングボックスを再配置またはサイズ変更する
  • 一貫性を保つために、複数のファイルにわたってブレンドモードを一括更新する

チャネルとリソース データを検査

  • Layer.channel_information はチャンネルごとのメタデータコレクションを公開します
  • Layer.has_mask_data と has_blending_ranges_data はオプションセクションが存在するかどうかを報告します
  • PsdLoadException と PsdSaveException はロード/セーブエラーを明確なメッセージで表面化します
  • すべてのクラスはコンパイル済み拡張モジュールを持たない純粋な Python です

診断と検査

  • 特定の PSD ファイルが読み込めない理由を診断し、汎用エラーではなく型付き例外で報告する
  • レイヤーがマスクまたはブレンド範囲データを持っているかどうかを処理前に確認する
  • フォーマットレベルの診断のためにチャンネルごとのメタデータを検査する

PSD ファイルを読み込み、レイヤーを検査する

Image.load を使用してファイルをロードし、PSD 固有のメンバーを持つ PsdImage インスタンスを取得します。

from aspose_psd_foss.image import Image
with Image.load("test.psd") as image:
    print(f"Width: {image.width}, Channels: {image.channels_count}, Layers: {len(image.layers)}")

レイヤーの境界とブレンドモードを編集し、保存

レイヤーの境界とブレンドモードはその場で変更でき、ディスクに保存できます。

from aspose_psd_foss.psdimage import PsdImage
from aspose_psd_foss.layers.blendmode import BlendMode

with PsdImage.load("test.psd") as image:
    image.layers[0].left = 10
    image.layers[0].top = 20
    image.layers[0].right = 40
    image.layers[0].bottom = 60
    image.layers[0].blend_mode_key = BlendMode.MULTIPLY
    image.save("edited.psd")

with PsdImage.load("edited.psd") as reloaded:
    print(f"Bounds: {reloaded.layers[0].bounds}, BlendMode: {reloaded.layers[0].blend_mode_key}")

チャンネル情報の読み取り(読み取り専用)

チャネル情報は読み取ることはできますが、再代入することはできません — 再設定しようとすると NotSupportedException がスローされます。

from aspose_psd_foss.psdimage import PsdImage
with PsdImage.load("test.psd") as image:
    layer = image.layers[0]
    channel_information = layer.channel_information
    print(f"Channel count: {layer.channels_count}, first channel: `NotSupportedException`")
    # layer.channel_information = channel_information  # raises NotSupportedException

よくある質問

ライセンスモデルは何ですか?

Aspose.PSD FOSS for Python は MIT ライセンスです。MIT ライセンスの条件に基づき、商用製品を含む使用、改変、再配布が可能です。

Aspose.PSD FOSS for Pythonをインストールするにはどうすればいいですか?

現在のインストールコマンドについては、上記のインストールセクションをご覧ください。

どのフォーマットをAspose.PSD FOSS for Pythonは読み書きできますか?

PSD および PSB(Photoshop 大規模ドキュメント)ファイルの読み込みと保存を行います。PNG や JPEG などの他のラスター形式へピクセルデータをレンダリングまたはエクスポートすることはできません。

メインエントリーポイントクラスは何ですか?

PsdImage(Image のサブクラス)。PsdImage.load でドキュメントをロードし、layers コレクションとヘッダー プロパティを読み取ります。

レイヤーのメタデータを変更できますか?

はい — Layer は可視性や名前など、いくつかのプロパティに対して動作するセッターを公開しており、PsdImage.layers 自体もコレクションを置き換えるための動作するセッターを持っています。いくつかの特定のプロパティ(チャネル情報、マスクデータ、ブレンド範囲、および一部のドキュメントレベルリソース)はこの FOSS ビルドでは読み取り専用で、設定しようとすると NotSupportedException がスローされます。

  

サポートと学習リソース

 日本語