เขียนคำอธิบาย

เขียนคำอธิบาย

เขียนตัวอธิบาย

PsdImage.save เป็นจุดเข้าถึงสาธารณะเดียวสำหรับการเขียนเอกสารออกใหม่ — มันรับทั้งเส้นทางไฟล์หรือสตรีมที่เปิดให้เขียนอยู่แล้ว ตัวเขียนส่วนระดับต่ำที่ทำการเข้ารหัสไบต์จริงเป็นรายละเอียดการทำงานภายใน ไม่ได้เป็นสิ่งที่คุณเรียกใช้โดยตรง.


การบันทึกไปยังเส้นทางไฟล์หรือสตรีม

from aspose_psd_foss.psdimage import PsdImage

image = PsdImage.load(input_path)
image.save("output.psd")

การส่งสตรีมแทนเส้นทางจะทำให้สตรีมยังคงเปิดอยู่หลังจากนั้น — คุณเป็นผู้ควบคุมว่าจะปิดเมื่อใด:

with open("output.psd", "wb") as stream:
    image.save(stream)

การเลือกรูปแบบคอนเทนเนอร์

ไม่มี API สาธารณะสำหรับเลือกรูปแบบคอนเทนเนอร์ของผลลัพธ์เมื่อบันทึก — การบันทึกจะสะท้อนรูปแบบใดก็ได้ที่เอกสารถูกโหลดมา (is_large_document / is_psb) เสมอ ไม่มีเส้นทางการแปลงที่รองรับระหว่าง PSD และ PSB ในรุ่น FOSS นี้.


เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด

  • เรียก save ก่อนทำลายภาพ — save บน PsdImage ที่ถูกทำลายแล้วจะทำให้เกิด RuntimeError.
  • ตัวเขียนระดับส่วนภายในที่ถูกเรียกโดย save ไม่ได้เป็นจุดเข้าสำหรับการใช้งานที่ได้รับการบันทึกหรือสนับสนุนโดยตรง; ควรใช้ผ่าน PsdImage.save เสมอ.

ปัญหาทั่วไป

ปัญหาสาเหตุวิธีแก้ไข
RuntimeError: PsdImage has been disposed.save ถูกเรียกหลังจาก dispose() (หรือหลังจากบล็อก with สิ้นสุด)เรียก save ก่อนทำลายภาพ
PsdSaveException เกี่ยวกับความยาวของสตริง Pascalค่าสตริงเกิน 255 ไบต์ดู ข้อยกเว้นหลัก

FAQ

การบันทึกลงสตรีมจะทำการปิดสตรีมหลังจากนั้นหรือไม่?

ไม่ — การส่งสตรีมไปยัง save จะทำให้สตรีมยังคงเปิดอยู่หลังจากนั้น ดังนั้นคุณจึงควบคุมวงจรชีวิตของมันได้ การบันทึกลงเส้นทางไฟล์ในทางตรงกันข้ามจะเปิดและปิดไฟล์ภายในโดยอัตโนมัติ.

ฉันสามารถสร้างไฟล์ PSB จากเอกสารที่โหลดเป็น PSD ได้หรือไม่?

ไม่ — ไม่มี API สาธารณะที่จะทำการแทนที่รูปแบบคอนเทนเนอร์เมื่อบันทึก; มันจะสะท้อนรูปแบบของเอกสารที่โหลดอยู่เสมอ.


API Reference สรุป

คลาส/เมธอดคำอธิบาย
PsdImage.save(file_path) / PsdImage.save(stream)บันทึกเอกสาร

ดูเพิ่มเติม

 ภาษาไทย