Python에서 Aspose.PSD FOSS Core API을(를) 사용하는 방법
Aspose.PSD FOSS for Python는 PsdImage을 통해 PSD/PSB 문서 구조를 로드하고 검사합니다. PsdImage는 Image의 서브클래스입니다. 이 문서에서는 문서를 로드하고, 헤더와 이미지 리소스를 읽으며, 디스크에 다시 저장하는 방법을 다룹니다.
단계별 가이드
1단계: 패키지 설치
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:$PYTHONPATH2단계: 필요한 클래스 가져오기
PsdImage는 이 가이드 전체에서 사용되는 진입점입니다:
from aspose_psd_foss.psdimage import PsdImage단계 3: PSD/PSB 문서 로드
PsdImage.load()은 파일 경로나 스트림에서 문서를 엽니다:
from aspose_psd_foss.psdimage import PsdImage
image = PsdImage.load("input.psd")단계 4: 문서 헤더 검사
PsdImage은 파싱된 문서에서 읽은 헤더 필드를 노출합니다: width, height, bits_per_channel, color_mode (ColorModes 값), 그리고 compression (CompressionMethod 값):
print(f"{image.width}x{image.height}, {image.bits_per_channel} bpc")
print(f"Color mode: {image.color_mode}") # e.g. ColorModes.RGB
print(f"Compression: {image.compression}") # e.g. CompressionMethod.RLE
print(f"Flattened: {image.is_flatten}")ColorModes 값은 BITMAP, GRAYSCALE, INDEXED, RGB, CMYK, MULTICHANNEL, DUOTONE, 및 LAB입니다. CompressionMethod 값은 RAW, RLE, ZIP_WITHOUT_PREDICTION, 및 ZIP_WITH_PREDICTION입니다.
단계 5: 이미지 리소스 블록 읽기
image_resources은 문서의 파싱된 ResourceBlock 항목을 반환합니다. 각 블록은 id, name, 및 size를 노출합니다:
for resource in image.image_resources:
print(f"Resource {resource.id} \"{resource.name}\" - {resource.size} bytes")image_resources 은(는) 이 FOSS 빌드에서 읽기 전용이며 — 할당하면 오류가 발생합니다 NotSupportedException (알려진 제한 사항을 확인하십시오 FAQ).
단계 6: 문서 저장
문서를 디스크에 다시 기록한 후 이미지 리소스를 해제합니다:
image.save("output.psd")
image.dispose()일반적인 문제 및 해결 방법
PsdLoadException 파일을 로드할 때. 입력이 유효한 PSD/PSB 문서가 아니거나 헤더 검증에 실패했습니다. 로드하기 전에 파일이 진정한 PSD/PSB 파일인지 확인하십시오.
NotSupportedException 설정할 때 image_resources or global_layer_resources. 이 FOSS 빌드에서는 이러한 setter가 지원되지 않습니다. 다음을 image_resources 읽기 전용으로 취급합니다.
자주 묻는 질문
파일 경로 대신 스트림에서 PSD 파일을 로드할 수 있나요?
예 — PsdImage.load()는 파일 경로 문자열 또는 읽을 수 있는 스트림(io.BytesIO/io.BufferedIOBase) 중 하나를 허용합니다.
image_resources에 레이어 데이터가 포함되어 있나요?
아니오. image_resources 문서 수준 리소스 블록을 보유합니다(PSD 이미지 리소스 섹션에서 구문 분석됨). 레이어 수준 데이터는 다음을 통해 읽어들입니다 PsdImage.layers — 참조 레이어 작업.
PsdImage.version가 PSD 파일 형식 버전인가요?
아니요. PsdImage.version는 내부 Aspose.PSD 호환 API 버전 번호(현재 6)를 보고합니다 — 이것은 로드된 파일이 PSD인지 PSB인지와는 무관합니다. 해당 설정자는 값 6만 허용하며, 다른 값은 ValueError을 발생시킵니다.