แปลงงานนำเสนอ PowerPoint เป็น XML ใน PHP
ภาพรวม
Aspose.Slides for PHP via Java สามารถแปลงงานนำเสนอ PowerPoint ให้เป็นรูปแบบ PowerPoint XML Presentation ได้ ผลลัพธ์เป็น XML มีประโยชน์เมื่อคุณต้องการตัวแทนแบบข้อความสำหรับตรวจสอบโครงสร้างงานนำเสนอ การแก้ไขปัญหาเอกสารที่สร้างขึ้น การเปรียบเทียบผลลัพธ์ในการทดสอบอัตโนมัติ หรือการบูรณาการกับ workflow ที่รับ 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:
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$inputPath = __DIR__ . DIRECTORY_SEPARATOR . "presentation.pptx";
$outputPath = __DIR__ . DIRECTORY_SEPARATOR . "presentation.xml";
$presentation = new Presentation($inputPath);
try {
$presentation->save($outputPath, SaveFormat::Xml);
} finally {
$presentation->dispose();
}
เขียนผลลัพธ์ XML ไปยังสตรีม
ใช้ overload แบบสตรีมของ Presentation::save เมื่อ XML ต้องคงอยู่ในหน่วยความจำหรือส่งต่อไปยังคอมโพเนนต์อื่น เช่น เว็บเซอร์วิส ผู้ให้บริการเก็บข้อมูล หรือพายป์ไลน์การประมวลผล XML ตัวอย่างต่อไปนี้เขียนผลลัพธ์ไปยัง ByteArrayOutputStream และรับ XML ที่สร้างขึ้นเป็นอาเรย์ไบต์:
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$inputPath = __DIR__ . DIRECTORY_SEPARATOR . "presentation.pptx";
$presentation = new Presentation($inputPath);
try {
$xmlStream = new Java("java.io.ByteArrayOutputStream");
try {
$presentation->save($xmlStream, SaveFormat::Xml);
$xmlBytes = $xmlStream->toByteArray();
// ส่ง $xmlBytes ไปยังคอมโพเนนต์ต่อไปในเวิร์กโฟลว์
} finally {
$xmlStream->close();
}
} finally {
$presentation->dispose();
}
ByteArrayOutputStream จะเก็บข้อมูลที่สร้างทั้งหมดในหน่วยความจำ ดังนั้นจึงไม่จำเป็นต้องรีเซ็ตตำแหน่งก่อนเรียก toByteArray
เปรียบเทียบ XML กับรูปแบบงานนำเสนอและการส่งออก
เลือกรูปแบบผลลัพธ์ตามวิธีการที่ผลลัพธ์จะถูกนำไปใช้:
| รูปแบบ | ผลลัพธ์ | การใช้งานทั่วไป |
|---|---|---|
PowerPoint XML (.xml) |
PowerPoint XML Presentation | ตรวจสอบโครงสร้าง, แก้ไขปัญหา, เปรียบเทียบผลลัพธ์ที่สร้าง, และการบูรณาการแบบ XML |
PPT (.ppt) |
ไฟล์งานนำเสนอแบบไบนารีรุ่นเก่า | ความเข้ากันได้กับเวิร์กโฟลว์ PowerPoint รุ่นเก่า |
PPTX (.pptx) |
แพคเกจ Office Open XML ที่ประกอบด้วยหลายส่วน | การแก้ไข PowerPoint ปกติและการแลกเปลี่ยนงานนำเสนอ |
| PDF หรือ TIFF | หน้าแบบเลย์เอาต์คงที่หรือภาพหลายหน้า | การดู, การพิมพ์, และการเก็บรักษา |
| PNG, JPEG หรือ SVG | การแสดงผลของสไลด์เดียว | ภาพย่อ, ตัวอย่าง, และสินทรัพย์รูปภาพ |
| HTML หรือ HTML5 | ผลลัพธ์งานนำเสนอแบบเว็บ | การดูในเบราว์เซอร์และการเผยแพร่บนเว็บ |
ต่างจาก PPT และ PPTX, ผลลัพธ์ XML มุ่งเน้นเพื่อการตรวจสอบและเวิร์กโฟลว์เชิงข้อมูลเป็นหลัก ต่างจาก PDF, TIFF, HTML และรูปแบบภาพสไลด์, มันเป็นตัวแทนข้อมูลงานนำเสนอแทนการเรนเดอร์สไลด์เป็นหน้า หรือสินทรัพย์ภาพ ตาราง รูปแบบไฟล์ที่รองรับ ระบุว่า PowerPoint XML Presentation เป็นรูปแบบที่บันทึกได้เท่านั้น ดังนั้นหากเวิร์กโฟลว์ต้องโหลดไฟล์ที่ส่งออกกลับเข้าสู่ Aspose.Slides เพื่อแก้ไขต่อ อย่าใช้รูปแบบนี้
คำถามที่พบบ่อย
SaveFormat::Xml เป็นเหมือนการบันทึกไฟล์ PPTX หรือไม่?
ไม่. PPTX คือแพคเกจที่ประกอบด้วยหลายส่วนของ Office Open XML ในขณะที่ SaveFormat::Xml สร้างไฟล์ PowerPoint XML Presentation
ฉันสามารถบันทึกผลลัพธ์ XML โดยไม่สร้างไฟล์บนดิสก์ได้หรือไม่?
ได้. ส่งสตรีมที่สามารถเขียนได้ไปยัง Presentation::save. ตัวอย่างเช่น ใช้ ByteArrayOutputStream เพื่อประมวลผลในหน่วยความจำ
Aspose.Slides สามารถโหลดไฟล์ XML ที่ส่งออกได้อีกครั้งหรือไม่?
ไม่. PowerPoint XML Presentation ปัจจุบันรองรับการบันทึกเท่านั้น ไม่รองรับการโหลด ใช้ PPTX หรือรูปแบบงานนำเสนอที่รองรับอื่นเมื่อจำเป็นต้องแก้ไขแบบวนกลับ
การแปลงเป็น XML ทำให้แต่ละสไลด์แสดงเป็นหน้า หรือภาพหรือไม่?
ไม่. การแปลงเป็น XML จะเขียนข้อมูลงานนำเสนอในรูปแบบโครงสร้าง ใช้ PDF หรือ TIFF สำหรับผลลัพธ์แบบหน้า หรือ PNG, JPEG และ SVG สำหรับภาพของสไลด์แต่ละอัน