1. Продукти
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for Python

Aspose.PSD FOSS для Python

Відкрита бібліотека Python для завантаження, перегляду та збереження файлів PSD/PSB з доступом до метаданих шарів. Ліцензовано за MIT, Adobe Photoshop не потрібен.

Open-Source Python бібліотека для файлів PSD/PSB

Aspose.PSD FOSS for Python — це безкоштовна бібліотека з ліцензією MIT, чисто Python, для завантаження, аналізу, та збереження файлів Adobe Photoshop PSD і PSB без вимоги наявності Adobe Photoshop або будь-якого пропрієтарного середовища виконання. Вона надає легковагову, автономну API, зосереджену навколо PsdImage і Layer, даючи 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 та кількістю шарів
  • Виявити файли PSB (великих документів), які потребують іншої обробки, ніж стандартні PSD

Робота з шарами

  • PsdImage.layers повертає кожен Layer у порядку документа; кожен Layer надає name, bounds, opacity, is_visible та blend_mode_key
  • Layer.channel_information надає метадані каналів для глибшого аналізу
  • Layer.channels_count повідомляє, скільки каналів зображення несе шар
  • PsdImage.layers можна переназначити, щоб видалити або змінити порядок шарів

Структура шару аудиту

  • Перевірте структуру шарів PSD без відкриття Photoshop
  • Створіть звіт про назви шарів, їх видимість та режими змішування для огляду дизайну
  • Визначте приховані або шари з нульовою прозорістю, залишені після попередніх правок

Редагувати основні метадані шару

  • 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, щоб отримати екземпляр PsdImage для PSD-специфічних членів.

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, якщо їх встановити.

  

Ресурси Підтримки та Навчання

 Українська