トラブルシューティング Aspose.PSD FOSS for Python

トラブルシューティング Aspose.PSD FOSS for Python

トラブルシューティング Aspose.PSD FOSS for Python

このページでは、Aspose.PSD FOSS for Python を使用して PSD/PSB ドキュメントを読み込み、検査、保存する際に遭遇する最も一般的な問題を取り上げています。


読み込みの問題

PsdLoadException がサポートされていないバージョンに関するメッセージを表示する場合

ファイルの宣言された PSD バージョンフィールドが標準の PSD でも大容量ドキュメント用の PSB でもありません。読み込む前に、ファイルが正真正銘で破損していない PSD/PSB ドキュメントであることを確認してください:

try:
    image = PsdImage.load("input.psd")
except PsdLoadException as ex:
    print(f"Not a valid PSD/PSB file: {ex}")

PsdLoadException がセクション長が境界を超えていることに関するエラー

ファイルの内部長さフィールドが実際のサイズと一致していません — これは通常、ファイルが切り捨てられたか破損していることを意味し、サポートされていないがそれ以外は有効な構造を使用しているということではありません。元のアプリケーションからファイルを再エクスポートし、再試行してください。


保存の問題

PsdSaveExceptionについてのPascal文字列長

文字列値(多くの場合はレイヤーまたはリソース名)が255バイトを超えています。これはPSDのPascal文字列フィールドがエンコードできる最大サイズです:

layer.name = layer.name[:255] if len(layer.name) > 255 else layer.name
image.save("output.psd")

編集の問題

NotSupportedException プロパティ設定時

このFOSSビルドではいくつかのプロパティが読み取り専用です。PsdImage上では: active_layer, image_resources, global_layer_resources, has_transparency_data。Layer上では: channel_information, layer_mask_data, layer_blending_ranges_data。これらは取得専用として扱い、代入しないでください。

レイヤーの不透明度を設定した後、見た目が正しくありません

Layer.opacityは慣例的に0〜255の値であり、0.0〜1.0の小数やパーセンテージではありません:

layer.opacity = 200  # approximately 78% opaque, not 200%

レイヤーの削除は効果がありません

PsdImage.layers はコレクションレベルで機能するセッターがありますが、個々のリスト要素はその場で単純に削除できません — フィルタ済みリスト全体を再代入してください:

image.layers = [l for l in image.layers if l.name != "Unwanted Layer"]

インストールの問題

パッケージが見つかりません

正確なパッケージの識別子を確認してください:

git clone https://github.com/aspose-psd-foss/Aspose.PSD-FOSS-for-Python.git
cd Aspose.PSD-FOSS-for-Python
# No packaging manifest is published yet -- run from this folder,
# or add it to PYTHONPATH:
export PYTHONPATH=$PWD:$PYTHONPATH

診断チェックリスト

サポートチケットを作成する前に、次のチェックリストを実行してください:

  1. ファイルが本当に PSD/PSB であることを確認してください — a PsdLoadException サポートされていないバージョンに関するものは、通常、そのファイルが実際の PSD/PSB ドキュメントではないことを意味します。
  2. 確認してください NotSupportedException — 上記に列挙された7つの読み取り専用プロパティのいずれかを設定してしまい、読み取っていない可能性があります。
  3. Verify opacity 0〜255 の範囲内です、0.0〜1.0 や 0〜100 ではありません。
  4. 文字列の値は 255 バイト未満に保ってください 保存前に、回避するために PsdSaveException.
  5. Call image.save 各編集後に — a に対する変更 Layer インスタンスは、ドキュメントが保存されるまで永続化されません。

参照

 日本語