تحويل PDF إلى Microsoft PowerPoint في C++

نظرة عامة

تشرح هذه المقالة كيفية تحويل PDF إلى صيغ PowerPoint باستخدام C++. وتغطي المواضيع التالية.

الصيغة: PPTX

الصيغة: صيغة Microsoft PowerPoint PPTX

مواضيع أخرى مغطاة في هذه المقالة.

تحويلات PDF إلى PowerPoint باستخدام C++

يسمح لك Aspose.PDF for C++ بتتبع تقدم تحويل PDF إلى PPTX.

أثناء تحويل PDF إلى PPTX، يتم عرض النص كنص يمكنك تحديده/تحديثه. يرجى ملاحظة أنه من أجل تحويل ملفات PDF إلى تنسيق PPTX، يوفر Aspose.PDF فئة تسمى PptxSaveOptions. يتم تمرير كائن من فئة PptxSaveOptions كمعامل ثانٍ إلى طريقة Document.Save(..) method. يُظهر جزء الكود التالي عملية تحويل ملفات PDF إلى تنسيق PPTX.

تحويل بسيط من PDF إلى PPTX باستخدام Aspose.PDF لـ C++

من أجل تحويل PDF إلى PPTX، ينصح Aspose.PDF لـ C++ باستخدام خطوات الكود التالية.

الخطوات: تحويل PDF إلى PPTX في C++ | الخطوات: تحويل PDF إلى تنسيق PowerPoint PPTX في C++

  1. قم بإنشاء مثيل لفئة Document.
  2. قم بإنشاء مثيل لفئة PptxSaveOptions.
  3. استخدم طريقة Save لكائن Document لـ حفظ ملف PDF كـ PPTX.
void ConvertPDFtoPPTX()
{
    std::clog << __func__ << ": Start" << std::endl;
    // سلسلة لاسم المسار
    String _dataDir("C:\\Samples\\Conversion\\");

    // سلسلة لاسم الملف
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // فتح المستند
    auto document = MakeObject<Document>(_dataDir + infilename);

    // حفظ المخرجات بتنسيق PPTX
    document->Save(_dataDir + outfilename, SaveFormat::Pptx);
    std::clog << __func__ << ": Finish" << std::endl;
}

تحويل PDF إلى PPTX مع الشرائح كصور

في حالة إذا كنت بحاجة لتحويل PDF قابل للبحث إلى PPTX كصور بدلاً من نص قابل للتحديد، يوفر Aspose.PDF مثل هذه الميزة عبر فئة Aspose.Pdf.PptxSaveOptions. لتحقيق ذلك، قم بتعيين خاصية SlidesAsImages من فئة PptxSaveOptios إلى ’true’ كما هو موضح في نموذج الكود التالي.

void ConvertPDFtoPPTX_SlidesAsImages()
{
    std::clog << __func__ << ": Start" << std::endl;
    // String for path name
    String _dataDir("C:\\Samples\\Conversion\\");

    // String for file name
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // Open document
    auto document = MakeObject<Document>(_dataDir + infilename);

    auto pptxOptions = MakeObject<PptxSaveOptions>();
    pptxOptions->set_SlidesAsImages(true);

    // Save the output in PPTX format
    document->Save(_dataDir + outfilename, pptxOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

تفاصيل تقدم تحويل PPTX

Aspose.PDF for C++ يتيح لك تتبع تقدم تحويل PDF إلى PPTX. The Aspose.Pdf.PptxSaveOptions توفر فئة CustomProgressHandler خاصية يمكن تحديدها لطريقة مخصصة لتتبع تقدم التحويل كما هو موضح في عينة الكود التالية.

void ConvertPDFtoPPTX_ProgressDetailConversion()
{
    std::clog << __func__ << ": Start" << std::endl;
    // سلسلة لاسم المسار
    String _dataDir("C:\\Samples\\Conversion\\");

    // سلسلة لاسم الملف
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // افتح المستند
    auto document = MakeObject<Document>(_dataDir + infilename);

    auto pptxOptions = MakeObject<PptxSaveOptions>();
    //pptxOptions->set_SlidesAsImages(true);
    //حدد معالج تقدم مخصص
    pptxOptions->set_CustomProgressHandler(ShowProgressOnConsole);

    // احفظ النتيجة بتنسيق PPTX
    document->Save(_dataDir + outfilename, pptxOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

فيما يلي الطريقة المخصصة لعرض تحويل التقدم.

void ShowProgressOnConsole(SharedPtr<UnifiedSaveOptions::ProgressEventHandlerInfo> eventInfo)
{
    switch (eventInfo->EventType)
    {
    case ProgressEventType::TotalProgress:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - تقدم التحويل : " << eventInfo->Value << std::endl;
    break;
    case ProgressEventType::ResultPageCreated:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - تم إنشاء تخطيط الصفحة الناتجة " << eventInfo->Value << " من " << eventInfo->MaxValue << "." << std::endl;
    break;
    case ProgressEventType::ResultPageSaved:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - تم تصدير الصفحة الناتجة " << eventInfo->Value << " من " << eventInfo->MaxValue << "." << std::endl;
    break;
    case ProgressEventType::SourcePageAnalysed:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - تم تحليل الصفحة المصدر " << eventInfo->Value << " من " << eventInfo->MaxValue << "." << std::endl;
    break;
    default:
    break;
    }
}

انظر أيضًا

تغطي هذه المقالة أيضًا هذه المواضيع. الأكواد هي نفسها كما هو موضح أعلاه.

التنسيق: PowerPoint

التنسيق: Microsoft PowerPoint PPTX format

التنسيق: PPTX