تبدیل ارائههای PowerPoint به XML در PHP
بررسی کلی
Aspose.Slides for PHP via Java میتواند ارائههای PowerPoint را به فرمت PowerPoint XML Presentation تبدیل کند. خروجی XML زمانی مفید است که به نمایشی متنی برای بررسی ساختار ارائه، عیبیابی اسناد تولید شده، مقایسه خروجی در تستهای خودکار، یا یکپارچهسازی با گردش کاری که بهجای بسته ارائه، XML مصرف میکند، نیاز دارید.
از متد Presentation::save با مقدار Xml از شمارش 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 | بررسی ساختار، عیبیابی، مقایسه خروجی تولید شده و یکپارچهسازی مبتنی بر 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 در حال حاضر فقط برای ذخیره پشتیبانی میشود و برای بارگذاری قابل استفاده نیست. هنگامی که نیاز به ویرایش دوری (round‑trip) دارید، از PPTX یا یک فرمت ارائه پشتیبانیشده دیگر استفاده کنید.
آیا تبدیل XML هر اسلاید را به یک صفحه یا تصویر رندر میکند؟
خیر. تبدیل XML دادههای ساختاریافتهٔ ارائه را مینویسد. برای خروجی مبتنی بر صفحه از PDF یا TIFF استفاده کنید یا برای تصاویر اسلایدهای منفرد از PNG، JPEG و SVG بهره ببرید.