تبدیل ارائه‌های PowerPoint به XML در C++

بررسی کلی

Aspose.Slides برای C++ می‌تواند ارائه‌های PowerPoint را به فرمت PowerPoint XML Presentation تبدیل کند. خروجی XML هنگامی مفید است که به یک نمایشی مبتنی بر متن برای بررسی ساختار ارائه، عیب‌یابی اسناد تولید شده، مقایسه خروجی در تست‌های خودکار یا یکپارچه‌سازی با روند کاری که XML را به جای بسته ارائه مصرف می‌کند، نیاز داشته باشید.

از متد Presentation::Save با مقدار Xml از enumeration SaveFormat استفاده کنید. می‌توانید نتیجه را مستقیماً در یک فایل یا به یک جریان بنویسید.

تبدیل یک ارائه به فایل 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 و فرمت‌های تصویر اسلاید، این خروجی داده‌های ارائه را نشان می‌دهد نه رندر اسلایدها به عنوان صفحات یا دارایی‌های تصویری.

جدول فرمت‌های فایل پشتیبانی‌شده 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 Presentation در حال حاضر فقط برای ذخیره پشتیبانی می‌شود و برای بارگذاری پشتیبانی نمی‌شود. هنگامی که ویرایش دوطرفه لازم است، از PPTX یا فرمت ارائه پشتیبانی‌شده دیگری استفاده کنید.

آیا تبدیل XML هر اسلاید را به یک صفحه یا تصویر رندر می‌کند؟
خیر. تبدیل XML داده‌های ساختار شده ارائه را می‌نویسد. برای خروجی صفحه‌محور از PDF یا TIFF استفاده کنید، یا برای تصاویر اسلایدهای منفرد از PNG، JPEG و SVG استفاده نمایید.