1. 製品
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS - Aspose.Slides C++ 用 FOSS

C++ から PowerPoint プレゼンテーションを作成、読み取り、編集できます — 無料かつオープンソースで、Office への依存は不要です。

PowerPoint プレゼンテーション用オープンソース C++ ライブラリ

Aspose.Slides FOSS for C++ は、PowerPoint .pptx ファイルを操作するための MIT ライセンスのライブラリです。CMake FetchContent を使用して統合し、Microsoft Office や任意のプロプライエタリランタイムをインストールせずに、すぐにプレゼンテーションの作成、読み取り、編集を開始できます。

このライブラリは、PowerPoint 自体で使用されている概念モデルである PresentationSlideShapeCollectionTextFrameParagraph、および Portion を中心に構築された Presentation API を提供します。スライドの追加と削除、AutoShape、テーブル、コネクタの挿入、太字、斜体、フォントサイズと色による文字レベルのテキスト書式設定、単色またはグラデーションの塗りつぶしの適用、そして視覚効果(影、グロー、ぼかし、反射)の追加が可能です。

RAII セマンティクスは信頼できるリソースのクリーンアップを保証します: Presentation デストラクタはすべての内部状態を自動的に解放します。ロード中に遭遇した未知の XML パーツは保存時にそのまま保持されるため、ラウンドトリップ時にライブラリがまだ理解していないコンテンツが破壊されることはありません。ライブラリは C++20 準拠のコンパイラが必要です。追加機能については、Aspose.Slides for C++ enterprise edition を参照してください。

プレゼンテーションおよびスライド API

  • PPTX の作成と開く: 新しいプレゼンテーションを作成するか、Presentation() または Presentation(path) を介して既存の .pptx ファイルを開きます。
  • スライドの追加と削除: プログラムで SlideCollectionadd_empty_slide()remove()、および remove_at() で管理します。
  • AutoShapes: 矩形、楕円、線、その他の ShapeType ジオメトリを add_auto_shape() で挿入します。
  • テーブルとコネクタ: 構造化されたテーブル形状と、形状間のコネクタラインを add_connector() を使用して追加します。
  • スピーカーノート: スライドごとのスピーカーノートを NotesSlideManager で読み書きします。
  • スレッド化されたコメント: pres.comment_authors() を反復処理してコメントスレッドにアクセスし、関連するコメントを取得します。

Aspose.Slides FOSS が使用できる場所

  • Report generation: データソースから Office を使用せずにブランド化されたスライドデッキを作成します。
  • Template automation: CI/CD パイプラインで動的コンテンツを使用して PPTX テンプレートに入力します。
  • コンテンツ移行: 既存のプレゼンテーションを読み取り、スライドを再構築または再スタイル化します。
  • 組み込みシステム: パフォーマンスが重要な、またはリソースが制限された環境で PPTX ファイルを処理します。
  • バッチ処理: 大規模なスライドデックライブラリ全体に均一な書式変更を適用します。

テキストの書式設定とビジュアルエフェクト

  • Character-level formatting: 個々の Portion オブジェクトに対して、PortionFormat を使用して太字、斜体、フォントサイズ、色を適用します。
  • 実体およびグラデーション塗り: シェイプの塗りを、FillFormatFillType を使用して、単色または複数ストップの線形グラデーションに設定します.
  • 影とグロー効果: EffectFormat を介して任意の形状に外部シャドウ、グロー、ぼかし、反射を適用します。
  • 段落の配置: 各段落の配置を左揃え、中央揃え、右揃え、または両端揃えに設定するには、ParagraphFormatset_alignment() を使用します。
  • 往復安全: 未知の XML 部分は再保存時に文字通り保持されます。

開発者体験

Aspose.Slides FOSS は CMake FetchContent を通じて統合されるため、手動でのダウンロードやシステム全体へのインストールは不要です。ライブラリはプロジェクトと一緒にソースからビルドされます。

この API は PowerPoint のオブジェクトモデル (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion) を鏡のように再現しているため、PowerPoint のオブジェクトモデルに慣れた人ならすぐにライブラリを使用できます。MIT ライセンスで、GitHub 上でオープンソースとして提供されており、C++20 準拠コンパイラが必要です。

プレゼンテーションを作成し、図形を追加する

RAII は、Presentation デストラクタがオブジェクトがスコープを抜けたときにすべてのリソースを自動的に解放することを保証します。add_auto_shape()ShapeType 列挙型を受け取り、次にポイント単位の x/y 位置と幅/高さを指定します — シェイプの text_frame はテキストコンテンツを設定するためのアクセスを提供します。

include(FetchContent)
FetchContent_Declare(
  aspose_slides_foss
  GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
  GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>

int main() {
    Aspose::Slides::Foss::Presentation prs;
    auto& slide = prs.slides()[0];

    // Add a rectangle AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}
 ```cmake
include(FetchContent)
FetchContent_Declare(
  aspose_slides_foss
  GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
  GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
 

テキストの書式設定と塗りつぶし効果の適用

テキストの書式設定は Portion レベルで機能します — 文字列の最小単位です。保存したファイルを開き、最初の段落の最初の部分に移動し、フォントプロパティを直接設定します。シェイプの塗りつぶしは独立しています: 塗りつぶしタイプを solid に設定し、色を割り当てます。

#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 ```cpp
#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 

よくある質問

C++ 用の Aspose.Slides FOSS とは何ですか?

これは、Microsoft Office を必要とせずに PowerPoint .pptx プレゼンテーションの作成、読み取り、編集ができる、無料の MIT ライセンスの C++ ライブラリです。

サポートされているファイル形式はどれですか?

.pptx はサポートされている読み書きフォーマットです。このエディションでは PDF、HTML、SVG、または画像へのエクスポートは利用できません。

Microsoft Office または PowerPoint が必要ですか?

No. Aspose.Slides FOSS は、Microsoft Office、COM オートメーション、または任意のプロプライエタリランタイムに依存しないスタンドアロンの C++ ライブラリです。

インストール方法は?

CMake FetchContent を使用して、ライブラリを GitHub から直接統合します。ライブラリは C++20 準拠コンパイラが必要です。

影やグローなどのビジュアル効果を適用できますか?

はい。ライブラリは EffectFormat API を介して、任意のシェイプオブジェクトに対して外部シャドウ、グロー、ぼかし、反射効果をサポートします。

このライブラリはリソース管理に RAII を使用していますか?

はい。Presentation のデストラクタは内部状態を自動的に解放するため、明示的なクリーンアップは不要です。

PPTX をラウンドトリップすると、未知のコンテンツが破壊されますか?

いいえ。ロード時に遭遇した未知の XML パーツは保存時にそのまま保持されるため、ライブラリがまだ理解できないコンテンツが失われることはありません。

ソースコードはどこにありますか?

このライブラリは MIT ライセンスで、GitHub にホストされています。バグ報告やプルリクエストは歓迎します。

  

サポートと学習リソース

 日本語