PDFをMicrosoft PowerPointに変換する方法 C++

概要

この記事では、C++を使用してPDFをPowerPoint形式に変換する方法を説明します。以下のトピックをカバーしています。

形式: PPTX

形式: Microsoft PowerPoint PPTX形式

この記事でカバーされているその他のトピック。

C++ PDFからPowerPointへの変換

**Aspose.PDF for C++**を使用すると、PDFからPPTXへの変換の進行状況を追跡できます。

PDFをPPTXに変換する際、テキストは選択/更新可能なテキストとしてレンダリングされます。PDFファイルをPPTX形式に変換するために、Aspose.PDFはPptxSaveOptionsというクラスを提供しています。PptxSaveOptionsクラスのオブジェクトは、Document.Save(..) methodメソッドの2番目の引数として渡されます。以下のコードスニペットは、PDFファイルをPPTX形式に変換するプロセスを示しています。

Aspose.PDF for C++を使用したPDFからPPTXへの簡単な変換

PDFをPPTXに変換するために、Aspose.PDF for C++は以下のコード手順を使用することを推奨しています。

手順: C++でPDFをPPTXに変換する | 手順: C++でPDFをPowerPoint PPTX形式に変換する

  1. Document クラスのインスタンスを作成します。
  2. PptxSaveOptions クラスのインスタンスを作成します。
  3. Document オブジェクトの Save メソッドを使用して 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 クラスを通じてそのような機能を提供します。 この目的を達成するには、PptxSaveOptios クラスの SlidesAsImages プロパティを ’true’ に設定します。以下のコードサンプルを参照してください。

void ConvertPDFtoPPTX_SlidesAsImages()
{
    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);

    // 出力をPPTX形式で保存
    document->Save(_dataDir + outfilename, pptxOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

PPTX変換の進捗詳細

Aspose.PDF for C++ は、PDFからPPTXへの変換の進捗を追跡できます。 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

Format: Microsoft PowerPoint PPTX 形式

Format: PPTX