Viết mô tả
Viết mô tả
PsdImage.save là điểm vào công cộng duy nhất để ghi lại tài liệu — nó chấp nhận hoặc một đường dẫn tệp hoặc một luồng đã mở có thể ghi. Trình ghi phần cấp thấp thực hiện mã hoá byte thực tế là chi tiết triển khai nội bộ, không phải thứ bạn gọi trực tiếp.
Lưu vào Đường dẫn Tệp hoặc Luồng
from aspose_psd_foss.psdimage import PsdImage
image = PsdImage.load(input_path)
image.save("output.psd")Việc truyền một luồng thay vì đường dẫn sẽ để luồng mở sau đó — bạn kiểm soát thời điểm đóng nó:
with open("output.psd", "wb") as stream:
image.save(stream)Chọn Định dạng Container
Không có API công cộng nào để chọn định dạng container đầu ra khi lưu — việc lưu luôn phản ánh định dạng mà tài liệu được tải lên (is_large_document / is_psb). Không có đường chuyển đổi được hỗ trợ giữa PSD và PSB trong bản dựng FOSS này.
Mẹo và Thực tiễn tốt nhất
- Gọi
savetrước khi giải phóng hình ảnh —savetrên mộtPsdImageđã được giải phóng sẽ gây raRuntimeError. - Bộ ghi ở mức phần nội bộ được gọi bởi
savekhông phải là một điểm vào được tài liệu hoá hoặc hỗ trợ riêng lẻ; luôn luôn đi quaPsdImage.save.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Cách khắc phục |
|---|---|---|
RuntimeError: PsdImage has been disposed. | save đã được gọi sau dispose() (hoặc sau khi khối with kết thúc) | Gọi save trước khi giải phóng hình ảnh |
PsdSaveException về độ dài chuỗi Pascal | Giá trị chuỗi vượt quá 255 byte | Xem Các ngoại lệ lõi |
FAQ
Việc lưu vào luồng có đóng luồng sau đó không?
Không — việc truyền một luồng cho save sẽ để luồng mở sau khi thực hiện, vì vậy bạn kiểm soát vòng đời của nó. Ngược lại, lưu vào đường dẫn tệp sẽ mở và đóng tệp nội bộ.
Tôi có thể tạo tệp PSB từ tài liệu được tải dưới dạng PSD không?
Không — không có API công khai nào để ghi đè định dạng container khi lưu; nó luôn phản ánh định dạng gốc của tài liệu đã tải.
API Reference Tóm tắt
| Lớp/Phương thức | Mô tả |
|---|---|
PsdImage.save(file_path) / PsdImage.save(stream) | Lưu tài liệu |