문제 해결 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은(는) 컬렉션 수준에서 작동하는 setter가 있지만, 개별 리스트 요소는 제자리에서 간단히 제거할 수 없습니다 — 전체 필터링된 리스트를 다시 할당하십시오:
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진단 체크리스트
지원 이슈를 열기 전에, 다음 체크리스트를 확인하세요:
- 파일이 실제로 PSD/PSB인지 확인하십시오 — a
PsdLoadException지원되지 않는 버전에 관한 것은 일반적으로 파일이 실제 PSD/PSB 문서가 아니라는 의미입니다. - 확인하십시오
NotSupportedException— 위에 나열된 7개의 읽기 전용 속성 중 하나를 설정하고 있을 수 있으며, 읽고 있는 것이 아닐 수 있습니다. - Verify
opacity0-255 범위에 있습니다, 0.0-1.0 또는 0-100이 아닙니다. - 문자열 값은 255바이트 이하로 유지하십시오 저장하기 전에, 방지하기 위해
PsdSaveException. - Call
image.save각 편집 후에 — 에 대한 변경 사항Layer인스턴스는 문서를 저장할 때까지 지속되지 않습니다.