1. Sản Phẩm
  2.   Aspose.PSD
  3.   Aspose.PSD FOSS for Python

Aspose.PSD FOSS cho Python

Thư viện Python mã nguồn mở để tải, kiểm tra và lưu các tệp PSD/PSB với quyền truy cập siêu dữ liệu lớp. Được cấp phép MIT, không cần Adobe Photoshop.

Thư viện Python nguồn mở cho các tệp PSD/PSB Files

Aspose.PSD FOSS for Python là một thư viện Python miễn phí, được cấp phép MIT, thuần Layer để tải, kiểm tra, và lưu các tệp Adobe Photoshop PSD và PSB mà không yêu cầu Adobe Photoshop hoặc bất kỳ môi trường thực thi độc quyền nào. Nó cung cấp một API nhẹ, độc lập, tập trung vào PsdImage và Layer, cho các nhà phát triển Python truy cập lập trình vào cấu trúc của tài liệu PSD mà không có phụ thuộc native nào để biên dịch. Thư viện đọc các kích thước, chế độ màu, độ sâu bit và phương pháp nén của tệp PSD/PSB, và cung cấp mọi lớp qua PsdImage.layers: mỗi Layer báo cáo tên, giới hạn, độ mờ, trạng thái hiển thị và khóa chế độ hòa trộn (BlendMode), cùng với thông tin kênh cấp thấp (ChannelInformation) và dữ liệu mặt nạ (LayerMaskData). Một tập con của siêu dữ liệu lớp — tên, giới hạn (left/top/right/bottom), và chế độ hòa trộn — có thể được sửa đổi tại chỗ và lưu lại trên đĩa bằng PsdImage.save(); mọi thứ khác trên bề mặt được đặt ở chế độ chỉ đọc theo thiết kế trong bản dựng FOSS này. Aspose.PSD FOSS for Python được cấp phép MIT. Cài đặt nó với pip install aspose-psd-foss — thư viện không có bất kỳ phụ thuộc native bên thứ ba nào, chỉ sử dụng thư viện chuẩn Python. Đối với dòng sản phẩm doanh nghiệp, xem Aspose.PSD — Enterprise Product Family.

Tải và Kiểm tra Các Tệp PSD/PSB

  • Image.load(file_path) mở một tệp và trả về một thể hiện PsdImage
  • PsdImage.width, height, và channels_count báo cáo kích thước canvas và số kênh
  • Chi tiết tiêu đề tài liệu được đọc từ chế độ màu và siêu dữ liệu nén của tệp đã phân tích
  • PsdImage.layers trả về danh sách đầy đủ các đối tượng Layer theo thứ tự tài liệu

Xác thực và Lập danh mục Tệp Thiết kế

  • Xác thực một lô tệp thiết kế trước khi chuyển chúng cho quy trình tiếp theo
  • Xây dựng một danh mục tài sản nhẹ bao gồm kích thước và số lớp của PSD/PSB
  • Phát hiện các tệp PSB (tài liệu lớn) cần xử lý khác so với PSD tiêu chuẩn

Làm việc với Lớp

  • PsdImage.layers trả về mọi Layer theo thứ tự tài liệu; mỗi Layer cung cấp name, bounds, opacity, is_visible, và blend_mode_key
  • Layer.channel_information cung cấp siêu dữ liệu kênh để kiểm tra sâu hơn
  • Layer.channels_count báo cáo số lượng kênh hình ảnh mà một lớp mang
  • PsdImage.layers tự nó có thể được gán lại để xóa hoặc sắp xếp lại các lớp

Cấu trúc lớp kiểm toán

  • Kiểm tra cấu trúc lớp của tệp PSD mà không mở Photoshop
  • Tạo báo cáo về tên lớp, trạng thái hiển thị và chế độ hòa trộn cho việc đánh giá thiết kế
  • Xác định các lớp ẩn hoặc có độ trong suốt bằng 0 còn lại từ các chỉnh sửa trước đó

Chỉnh sửa siêu dữ liệu lớp cơ bản

  • Layer.name, Layer.left/top/right/bottom, và Layer.blend_mode_key có thể được đặt trực tiếp
  • PsdImage.save(file_path) lưu lại tài liệu đã chỉnh sửa về đĩa
  • Tải lại tệp đã lưu bằng PsdImage.load xác nhận các chỉnh sửa vòng qua đúng cách
  • Các thuộc tính không được liệt kê ở trên (thông tin kênh, dữ liệu mặt nạ, phạm vi hòa trộn) sẽ gây ra NotSupportedException nếu được đặt — bản dựng này hỗ trợ chỉ chỉnh sửa siêu dữ liệu, không phải tái tạo đầy đủ

Chỉnh sửa nhẹ, có thể lập trình

  • Đổi tên các lớp một cách lập trình như một phần của quy trình tự động tổ chức tệp
  • Định vị lại hoặc thay đổi kích thước hộp giới hạn của lớp mà không cần công cụ thiết kế
  • Cập nhật hàng loạt chế độ hòa trộn trên nhiều tệp để duy trì tính nhất quán

Kiểm tra Dữ liệu Kênh và Tài Nguyên

  • Layer.channel_information cho phép truy cập các bộ sưu tập siêu dữ liệu theo kênh
  • Layer.has_mask_data và has_blending_ranges_data báo cáo xem các phần tùy chọn có tồn tại hay không
  • PsdLoadException và PsdSaveException hiển thị lỗi tải/lưu với thông báo rõ ràng
  • Tất cả các lớp đều là Python thuần túy mà không có mô-đun mở rộng được biên dịch

Chuẩn đoán và Kiểm tra

  • Chẩn đoán lý do tại sao một tệp PSD cụ thể không tải được, với một ngoại lệ có kiểu cụ thể thay vì lỗi chung
  • Kiểm tra xem một lớp có mang dữ liệu mặt nạ hoặc phạm vi pha trộn hay không trước khi xử lý
  • Kiểm tra siêu dữ liệu từng kênh cho chẩn đoán ở mức độ định dạng

Tải tệp PSD và Kiểm tra các lớp của nó

Tải một tệp bằng Image.load để nhận một đối tượng PsdImage cho các thành viên riêng của 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)}")

Chỉnh sửa Giới hạn Lớp và Chế độ Hòa trộn, Sau đó Lưu

Giới hạn lớp và chế độ hòa trộn có thể được thay đổi tại chỗ và lưu lại vào đĩa.

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}")

Đọc Thông Tin Kênh (Chỉ Đọc)

Thông tin kênh có thể được đọc nhưng không thể gán lại — việc cố gắng đặt nó sẽ gây ra 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

Câu Hỏi Thường Gặp

Mô hình cấp phép là gì?

Aspose.PSD FOSS for Python được cấp phép theo MIT. Bạn có thể sử dụng, sửa đổi và phân phối lại nó theo các điều khoản của giấy phép MIT, bao gồm cả trong các sản phẩm thương mại.

Làm thế nào để cài đặt Aspose.PSD FOSS for Python?

Xem phần cài đặt ở trên để biết lệnh cài đặt hiện tại.

Các định dạng nào Aspose.PSD FOSS for Python có thể đọc và ghi?

Nó tải lên và lưu các tệp PSD và PSB (Photoshop large document). Nó không render hoặc xuất dữ liệu pixel sang các định dạng raster khác như PNG hoặc JPEG.

Lớp entry-point chính là gì?

PsdImage (một lớp con của Image). Tải tài liệu bằng PsdImage.load, sau đó đọc bộ sưu tập layers và các thuộc tính tiêu đề.

Tôi có thể sửa đổi siêu dữ liệu lớp không?

Vâng — Layer cung cấp một setter hoạt động cho một số thuộc tính, chẳng hạn như khả năng hiển thị và tên, và PsdImage.layers tự nó có một setter hoạt động để thay thế bộ sưu tập. Một vài thuộc tính cụ thể (thông tin kênh, dữ liệu mặt nạ, phạm vi hòa trộn, và một số tài nguyên cấp tài liệu) là chỉ đọc trong bản dựng FOSS này và sẽ ném NotSupportedException nếu được đặt.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt