แปลงงานนำเสนอ PowerPoint เป็น XML ด้วย C++
ภาพรวม
Aspose.Slides for C++ สามารถแปลงงานนำเสนอ PowerPoint ไปเป็นรูปแบบ PowerPoint XML Presentation ได้ ผลลัพธ์ในรูปแบบ XML มีประโยชน์เมื่อคุณต้องการตัวแทนแบบข้อความสำหรับการตรวจสอบโครงสร้างงานนำเสนอ การแก้ไขปัญหาเอกสารที่สร้างขึ้น การเปรียบเทียบผลลัพธ์ในทดสอบอัตโนมัติ หรือการรวมกับกระบวนการทำงานที่ใช้ XML แทนแพ็คเกจงานนำเสนอ
ใช้เมธอด Presentation::Save กับค่า Xml จาก enumeration SaveFormat คุณสามารถเขียนผลลัพธ์โดยตรงไปยังไฟล์หรือสตรีมได้
Note
SaveFormat::Xml สร้าง PowerPoint XML Presentation ไม่ได้ดึงส่วน Office Open XML แต่ละส่วนที่เก็บอยู่ในแพ็คเกจ PPTX หากคุณต้องการส่วนที่อยู่ในแพ็คเกจ PPTX อย่างเช่น ppt/presentation.xml หรือไฟล์ XML ของสไลด์แต่ละไฟล์ ให้ตรวจสอบแพ็คเกจ PPTX เอง
แปลงงานนำเสนอเป็นไฟล์ XML
โหลดงานนำเสนอแหล่งต้นทางด้วยคลาส Presentation แล้วส่งพาธผลลัพธ์และ SaveFormat::Xml ให้กับเมธอด Presentation::Save แหล่งต้นทางสามารถเป็นรูปแบบงานนำเสนอใดก็ได้ที่สนับสนุนการโหลด เช่น PPT, PPTX หรือ ODP
ตัวอย่างต่อไปนี้แปลงงานนำเสนอ PPTX ไปเป็นไฟล์ XML:
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/object_ext.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
presentation->Save(u"presentation.xml", SaveFormat::Xml);
presentation->Dispose();
เขียนผลลัพธ์ XML ไปยังสตรีม
ใช้การ overload ของสตรีมในเมธอด Presentation::Save เมื่อ XML ต้องคงอยู่ในหน่วยความจำหรือส่งต่อไปยังส่วนประกอบอื่น เช่น เว็บเซอร์วิส ผู้ให้บริการจัดเก็บข้อมูล หรือไพป์ไลน์ประมวลผล XML ตัวอย่างต่อไปนี้เขียนผลลัพธ์ไปยัง MemoryStream แล้วรีเซ็ตตำแหน่งเพื่อการอ่านต่อไป:
#include <DOM/Presentation.h>
#include <Export/SaveFormat.h>
#include <system/io/memory_stream.h>
#include <system/object_ext.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System::IO;
auto presentation = System::MakeObject<Presentation>(u"presentation.pptx");
auto xmlStream = System::MakeObject<MemoryStream>();
presentation->Save(xmlStream, SaveFormat::Xml);
xmlStream->set_Position(0);
presentation->Dispose();
// ส่ง xmlStream ไปยังส่วนประกอบต่อไปในกระบวนการทำงาน.
เปรียบเทียบ XML กับรูปแบบการนำเสนอและการส่งออก
เลือกรูปแบบผลลัพธ์ตามวิธีการที่ผลลัพธ์จะถูกใช้:
| รูปแบบ | ผลลัพธ์ | การใช้งานทั่วไป |
|---|---|---|
PowerPoint XML (.xml) |
การนำเสนอ PowerPoint XML | ตรวจสอบโครงสร้าง, แก้ไขปัญหา, เปรียบเทียบผลลัพธ์ที่สร้าง, การรวมแบบ XML |
PPT (.ppt) |
ไฟล์งานนำเสนอไบนารีแบบเก่า | ความเข้ากันได้กับกระบวนการทำงาน PowerPoint รุ่นเก่า |
PPTX (.pptx) |
แพ็คเกจ Office Open XML ที่มีหลายส่วน | การแก้ไข PowerPoint ปกติและการแลกเปลี่ยนงานนำเสนอ |
| PDF หรือ TIFF | หน้าแบบจัดวางคงที่หรือภาพหลายหน้า | การดู, การพิมพ์, และการเก็บถาวร |
| PNG, JPEG หรือ SVG | ตัวแทนที่เรนเดอร์ของสไลด์บุคคลหนึ่ง | รูปย่อ, ตัวอย่าง, และทรัพยากรภาพ |
| HTML หรือ HTML5 | ผลลัพธ์งานนำเสนอแบบเว็บ | การดูในเบราว์เซอร์และการเผยแพร่เว็บ |
ต่างจาก PPT และ PPTX, ผลลัพธ์ XML ถูกออกแบบมาสำหรับการตรวจสอบและกระบวนการทำงานเชิงข้อมูลเป็นหลัก ต่างจาก PDF, TIFF, HTML และรูปแบบภาพสไลด์ มันเป็นตัวแทนข้อมูลงานนำเสนอ ไม่ใช่การเรนเดอร์สไลด์เป็นหน้า หรือทรัพยากรภาพ ตาราง supported file formats ระบุ PowerPoint XML Presentation เป็นรูปแบบที่บันทึกได้เท่านั้น ดังนั้นอย่าใช้เมื่อต้องการโหลดไฟล์ที่ส่งออกกลับเข้าสู่ Aspose.Slides เพื่อแก้ไขต่อ
คำถามที่พบบ่อย
SaveFormat::Xml กับการบันทึกไฟล์ PPTX เป็นเรื่องเดียวกันหรือไม่?
ไม่ใช่ PPTX เป็นแพ็คเกจที่ประกอบด้วยหลายส่วน Office Open XML ส่วน SaveFormat::Xml จะสร้างไฟล์ PowerPoint XML Presentation
ฉันสามารถบันทึกผลลัพธ์ XML โดยไม่สร้างไฟล์บนดิสก์ได้หรือไม่?
ได้ ส่งสตรีมที่เขียนได้ให้กับเมธอด Presentation::Save ตัวอย่างเช่น ใช้ MemoryStream สำหรับการประมวลผลในหน่วยความจำ
Aspose.Slides สามารถโหลดไฟล์ XML ที่ส่งออกได้อีกครั้งหรือไม่?
ไม่ การนำเสนอ PowerPoint XML ปัจจุบันรองรับการบันทึกเท่านั้น ไม่รองรับการโหลด ใช้ PPTX หรือรูปแบบงานนำเสนอที่รองรับอื่นเมื่อจำเป็นต้องทำการแก้ไขแบบรอบลูป
การแปลงเป็น XML จะเรนเดอร์สไลด์แต่ละสไลด์เป็นหน้า หรือภาพหรือไม่?
ไม่ การแปลงเป็น XML จะเขียนข้อมูลงานนำเสนอที่มีโครงสร้าง ใช้ PDF หรือ TIFF สำหรับผลลัพธ์แบบหน้า หรือ PNG, JPEG, และ SVG สำหรับภาพสไลด์แต่ละสไลด์