การทำงานกับ OLE Objects และวิดีโอออนไลน์

OLE (การเชื่อมโยงและการฝังวัตถุ) เป็นเทคโนโลยีที่ผู้ใช้สามารถทำงานกับเอกสารที่มี “วัตถุ” ที่สร้างหรือแก้ไขโดยแอปพลิเคชันบุคคลที่สาม นั่นคือ OLE อนุญาตให้แอปพลิเคชันแก้ไขส่งออก “ออบเจ็กต์” เหล่านี้ไปยังแอปพลิเคชันแก้ไขอื่น จากนั้นนำเข้าพร้อมเนื้อหาเพิ่มเติม

ในบทความนี้ เราจะพูดถึงการแทรกวัตถุ OLE และการตั้งค่าคุณสมบัติ รวมถึงการแทรกวิดีโอออนไลน์ลงในเอกสาร

แทรกวัตถุ OLE

ถ้าคุณต้องการ OLE Object ให้เรียกใช้เมธอด insert_ole_object และส่งผ่าน ProgId อย่างชัดเจนพร้อมกับพารามิเตอร์อื่นๆ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกวัตถุ OLE ลงในเอกสาร:

ตั้งชื่อไฟล์และนามสกุลเมื่อแทรกวัตถุ OLE

แพคเกจ OLE เป็นวิธีดั้งเดิมและ “ไม่มีเอกสาร” ในการจัดเก็บวัตถุที่ฝังตัวหากไม่รู้จักตัวจัดการ OLE

Windows เวอร์ชันก่อนหน้า เช่น Windows 3.1, 95 และ 98 มีแอปพลิเคชัน Packager.exe ที่สามารถใช้เพื่อฝังข้อมูลประเภทใดก็ได้ลงในเอกสาร ขณะนี้แอปพลิเคชันนี้แยกออกจาก Windows แล้ว แต่ Microsoft Word และแอปพลิเคชันอื่นๆ ยังคงใช้เพื่อฝังข้อมูล หากตัวจัดการ OLE หายไปหรือไม่ทราบ คลาส OlePackage อนุญาตให้ผู้ใช้เข้าถึงคุณสมบัติ OLE Package

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งชื่อไฟล์ นามสกุล และชื่อที่แสดงสำหรับ OLE Package:

เข้าถึงข้อมูลดิบของวัตถุ OLE

ผู้ใช้สามารถเข้าถึงข้อมูลวัตถุ OLE โดยใช้คุณสมบัติและวิธีการต่างๆ ของคลาส OleFormat ตัวอย่างเช่น คุณสามารถรับข้อมูลดิบของวัตถุ OLE หรือเส้นทางและชื่อของไฟล์ต้นฉบับสำหรับวัตถุ OLE ที่เชื่อมโยงได้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการรับข้อมูลดิบของวัตถุ OLE โดยใช้วิธี get_raw_data:

แทรกวัตถุ OLE เป็นไอคอน

วัตถุ OLE ยังสามารถแทรกลงในเอกสารเป็นรูปภาพได้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทรกวัตถุ OLE เป็นไอคอน เพื่อจุดประสงค์นี้ คลาส DocumentBuilder เปิดเผยวิธีการ insert_ole_object_as_icon:

ตัวอย่างรหัสต่อไปนี้แสดงวิธีการแทรกวัตถุ OLE ที่ฝังตัวเป็นไอคอนจากกระแสข้อมูลลงในเอกสาร:

แทรกวิดีโอออนไลน์

สามารถแทรกวิดีโอออนไลน์ลงในเอกสาร Word ได้จากแท็บ “แทรก”> “วิดีโอออนไลน์” คุณสามารถแทรกวิดีโอออนไลน์ลงในเอกสารที่ตำแหน่งปัจจุบันได้โดยการเรียกวิธี insert_online_video

คลาส DocumentBuilder แนะนำวิธีการโอเวอร์โหลดสี่ครั้ง อันแรกใช้งานได้กับแหล่งข้อมูลวิดีโอยอดนิยมและใช้ URL ของวิดีโอเป็นพารามิเตอร์ ตัวอย่างเช่น การโอเวอร์โหลดครั้งแรกรองรับการแทรกวิดีโอออนไลน์อย่างง่ายจากทรัพยากร ยูทูบ และ วิมีโอ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแทรกวิดีโอออนไลน์จาก Vimeo ลงในเอกสาร:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

# Pass direct url from youtu.be.
url = "https://www.youtube.com/watch?v=t_1LYZ102RA"

width = 360
height = 270

shape = builder.insert_online_video(url, width, height)

doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_online_video.docx")

การโอเวอร์โหลดครั้งที่สองทำงานร่วมกับทรัพยากรวิดีโออื่นๆ ทั้งหมด และใช้โค้ด HTML ที่ฝังไว้เป็นพารามิเตอร์ รหัส HTML สำหรับการฝังวิดีโออาจแตกต่างกันไปขึ้นอยู่กับผู้ให้บริการ ดังนั้นโปรดติดต่อผู้ให้บริการที่เกี่ยวข้องเพื่อขอรายละเอียด

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแทรกวิดีโอออนไลน์ลงในเอกสารโดยใช้โค้ด HTML ดังกล่าว:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

# Shape width/height.
width = 360
height = 270

# Poster frame image.
f = open(docs_base.images_dir + "Logo.jpg", "rb")
imageBytes = f.read()
f.close()

# Visible url
vimeoVideoUrl = "https://vimeo.com/52477838"

# Embed Html code.
vimeoEmbedCode = ""

builder.insert_online_video(vimeoVideoUrl, vimeoEmbedCode, imageBytes, width, height)

doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_online_video_with_embed_html.docx")