เพิ่มลายน้ำให้กับ PowerPoint PPT ใน Python

ลายน้ำมักใช้เพื่อป้องกันเอกสารหรือเพื่อระบุความเป็นเจ้าของ ในทางกลับกัน ใช้เพื่อแสดงสถานะของเอกสาร เช่น ต้นฉบับ ฉบับร่าง เป็นต้น ในบทความนี้ เราจะสาธิตวิธีการใส่ลายน้ำในงานนำเสนอ PowerPoint คุณจะได้เรียนรู้วิธีเพิ่มลายน้ำข้อความหรือรูปภาพลงในสไลด์ PowerPoint PPT ใน Python

Python Library เพื่อเพิ่มลายน้ำให้กับสไลด์ PowerPoint

ในการเพิ่มหรือลบลายน้ำในสไลด์ PPT เราจะใช้ Aposose.Slides for Python via .NET ไลบรารีนี้ช่วยให้คุณสร้างและจัดการงานนำเสนอ PowerPoint ได้อย่างราบรื่นจากภายในแอปพลิเคชัน Python ใช้คำสั่ง pip ต่อไปนี้เพื่อติดตั้งไลบรารีจาก PyPI

> pip install aspose.slides

เพิ่มลายน้ำให้กับสไลด์ PowerPoint PPT ใน Python

มีลายน้ำสองประเภทที่สามารถเพิ่มลงในสไลด์ PowerPoint ได้: รูปภาพและข้อความ ในการใส่ลายน้ำด้วยรูปภาพ รูปภาพจะถูกเพิ่มลงในสไลด์ PPT ในขณะที่ส่วนของข้อความจะถูกวางบนสไลด์ในกรณีของการใส่ลายน้ำแบบข้อความ ส่วนต่อไปนี้ครอบคลุมลายน้ำทั้งสองประเภทอย่างชัดเจน

เพิ่มลายน้ำข้อความให้กับสไลด์ PowerPoint ใน Python

ต่อไปนี้เป็นขั้นตอนในการเพิ่มลายน้ำข้อความให้กับสไลด์ PPT ใน Python

  • ขั้นแรก ให้โหลด PowerPoint PPT/PPTX โดยใช้คลาสการนำเสนอ
  • รับข้อมูลอ้างอิงของสไลด์ที่คุณต้องการเพิ่มลายน้ำ
  • คำนวณตำแหน่งของลายน้ำ
  • เพิ่มรูปร่างอัตโนมัติใหม่สำหรับลายน้ำโดยใช้เมธอด addautoshape()
  • เพิ่มกรอบข้อความให้กับรูปร่างโดยใช้เมธอด addtextframe()
  • กำหนดขนาดตัวอักษร สี ลำดับ และมุมการหมุนของลายน้ำ
  • ล็อคลายน้ำเพื่อหลีกเลี่ยงการลบหรือแก้ไข
  • สุดท้าย บันทึกไฟล์ PowerPoint ที่อัปเดตโดยใช้เมธอด Presentation.save(string, SaveFormat)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มลายน้ำข้อความลงในสไลด์ PowerPoint

import aspose.slides as slides
import aspose.pydrawing as drawing

# โหลดงานนำเสนอ
with slides.Presentation("presentation.pptx") as presentation:
    # เลือกสไลด์
    slide = presentation.slides[0]

    # กำหนดตำแหน่งลายน้ำ
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # ใส่ลายน้ำ
    watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # ตั้งค่าข้อความ ลายน้ำ แบบอักษร และสี
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # ล็อคลายน้ำเพื่อหลีกเลี่ยงการแก้ไข
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # ตั้งการหมุน
    watermarkShape.rotation = -45

    # ส่งกลับ
    slide.shapes.reorder(0, watermarkShape)

    # บันทึกการนำเสนอ
    presentation.save("text-watermark-slide.pptx", slides.export.SaveFormat.PPTX)

ในการเพิ่มลายน้ำให้กับสไลด์ทั้งหมด คุณสามารถวนซ้ำสไลด์หรือเพิ่มลายน้ำให้กับสไลด์ต้นแบบ ดังที่แสดงในตัวอย่างโค้ดต่อไปนี้

import aspose.slides as slides
import aspose.pydrawing as drawing

# โหลดงานนำเสนอ
with slides.Presentation("presentation.pptx") as presentation:
    # เลือกสไลด์
    master = presentation.masters[0]

    # กำหนดตำแหน่งลายน้ำ
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # ใส่ลายน้ำ
    watermarkShape = master.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # ตั้งค่าข้อความ ลายน้ำ แบบอักษร และสี
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # ล็อคลายน้ำเพื่อหลีกเลี่ยงการแก้ไข
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # ส่งกลับ
    master.shapes.reorder(0, watermarkShape)

    # ตั้งการหมุน
    watermarkShape.rotation = -45

    # บันทึกการนำเสนอ
    presentation.save("text-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

ต่อไปนี้เป็นภาพหน้าจอของสไลด์ PowerPoint หลังจากใส่ลายน้ำแล้ว

เพิ่มลายน้ำข้อความให้กับสไลด์ PowerPoint ใน Python

เพิ่มลายน้ำรูปภาพให้กับสไลด์ PowerPoint ใน Python

ต่อไปนี้เป็นขั้นตอนในการเพิ่มลายน้ำรูปภาพให้กับสไลด์ PowerPoint ใน Python

  • ขั้นแรก ให้โหลดงานนำเสนอ PowerPoint โดยใช้คลาสการนำเสนอ
  • รับข้อมูลอ้างอิงของสไลด์ที่คุณต้องการเพิ่มลายน้ำ
  • คำนวณตำแหน่งของลายน้ำ
  • โหลดภาพลายน้ำจากไฟล์
  • เพิ่มรูปร่างใหม่สำหรับลายน้ำโดยใช้เมธอด addautoshape() และตั้งค่า shape.fillformat.filltype เป็น FillType.PICTURE
  • ตั้งค่าภาพลายน้ำโดยใช้คุณสมบัติ shape.fillformat.picturefillformat.picture.image
  • กำหนดลำดับของลายน้ำและล็อคเพื่อหลีกเลี่ยงการแก้ไข
  • สุดท้าย ให้บันทึก PPT ที่อัปเดตโดยใช้เมธอด Presentation.save(string, SaveFormat)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มลายน้ำรูปภาพลงในสไลด์ PowerPoint

import aspose.slides as slides
import aspose.pydrawing as drawing

# โหลดงานนำเสนอ
with slides.Presentation("presentation.pptx") as presentation:
    # เลือกสไลด์
    slide = presentation.slides[0]

    # กำหนดตำแหน่งลายน้ำ
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 100
    height = 100
    x = center.x - width / 2
    y = center.y - height / 2

    # โหลดภาพ
    with open("python-logo.png", "rb") as fs:
        data = fs.read()
        image = presentation.images.add_image(data)

        # ใส่ลายน้ำ
        watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
        watermarkShape.name = "watermark"

        # ตั้งค่ารูปภาพสำหรับลายน้ำ
        watermarkShape.fill_format.fill_type = slides.FillType.PICTURE
        watermarkShape.fill_format.picture_fill_format.picture.image = image
        watermarkShape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH
        watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

        # ส่งกลับ
        slide.shapes.reorder(0, watermarkShape)

        # ล็อคลายน้ำเพื่อหลีกเลี่ยงการแก้ไข
        watermarkShape.shape_lock.select_locked = True
        watermarkShape.shape_lock.size_locked = True
        watermarkShape.shape_lock.text_locked = True
        watermarkShape.shape_lock.position_locked = True
        watermarkShape.shape_lock.grouping_locked = True

    # บันทึกการนำเสนอ
    presentation.save("image-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

ต่อไปนี้เป็นภาพหน้าจอของสไลด์ PPT หลังจากเพิ่มลายน้ำรูปภาพ

เพิ่มลายน้ำรูปภาพให้กับสไลด์ PowerPoint ใน Python

ลบลายน้ำออกจากสไลด์ PPT ใน Python

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

import aspose.slides as slides
import aspose.pydrawing as drawing

# โหลดงานนำเสนอ
with slides.Presentation("text-watermark-slide.pptx") as presentation:
    # เลือกสไลด์
    slide = presentation.slides[0]

    shapesToRemove=[]

    # วนซ้ำรูปร่างทั้งหมดในสไลด์
   for i in range(len(slide.shapes)):
        shape = slide.shapes[i]

        # ถ้ารูปร่างเป็นลายน้ำ
        if shape.name == "watermark":                
            shapesToRemove.append(shape)

    # วนซ้ำรูปร่างทั้งหมดที่จะลบออก
   for i in range(len(shapesToRemove)):
        # ลบรูปร่าง
        slide.shapes.remove(shapesToRemove[i])

    # บันทึกการนำเสนอ
    presentation.save("remove-watermark.pptx", slides.export.SaveFormat.PPTX)

รับใบอนุญาตฟรี

คุณสามารถใช้ Aspose.Slides for Python ผ่าน .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราว

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีเพิ่มลายน้ำให้กับสไลด์ PowerPoint ใน Python เราได้กล่าวถึงวิธีการเพิ่มลายน้ำข้อความและรูปภาพในสไลด์ PPT นอกจากนี้ คุณได้เห็นวิธีการลบลายน้ำออกจาก PowerPoint PPT โดยทางโปรแกรม นอกจากนี้ คุณสามารถอ่าน เอกสารประกอบ เพื่อสำรวจคุณสมบัติอื่นๆ ของ Aspose.Slides for Python นอกจากนี้ คุณสามารถโพสต์คำถามของคุณไปที่ ฟอรัม ของเรา

ดูสิ่งนี้ด้วย

ข้อมูล: คุณอาจต้องการดูเครื่องมือออนไลน์ฟรีที่นำเสนอโดย Aspose.Slides เพื่อ เพิ่มลายน้ำ และ ลบลายน้ำ จากงานนำเสนอ PowerPoint