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

Aspose.Slides FOSS for C++

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

  • Create and open PPTX: 新しいプレゼンテーションを作成したり、既存の .pptx ファイルを Presentation() または Presentation(path) を介して開くことができます。
  • Add and remove slides: プログラムで SlideCollectionadd_empty_slide()remove()remove_at() を使用して管理します。
  • AutoShapes: 矩形、楕円、線、その他の ShapeType ジオメトリを add_auto_shape() を介して挿入します。
  • Tables and Connectors: 構造化されたテーブルシェイプと、シェイプ間のコネクタラインを add_connector() を介して追加します。
  • Speaker notes: スライドごとのスピーカーノートを NotesSlideManager を通じて読み書きします。
  • Threaded comments: pres.comment_authors() を反復処理し、関連するコメントにアクセスします。

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

  • レポート生成: Office を使わないデータソースからブランドのスライドデッキを作成します.
  • テンプレート自動化: CI/CDパイプラインでPPTXテンプルをダイナミックなコンテンツで満たします.
  • **コンテンツ移行:**既存のプレゼンテーションを読み取り,スライドを再編成または再スタイルします.
  • 組み込みシステム: パフォーマンスが重要またはリソースが限られた環境でPPTXファイルを処理する.
  • ** バッチ処理:** 大きなスライドデック・ライブラリに統一的なフォーマット変更を適用する.

テキスト の フォーマット や 視覚 的 な エフェクト

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

開発者経験

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

API は PowerPoint のオブジェクトモデル(PresentationSlideShapeCollectionTextFrameParagraphPortion)を鏡像化しているため、PowerPoint のオブジェクトモデルに慣れた人はすぐにライブラリを使用できます。MIT ライセンスで、GitHub 上でオープンソースとして提供されており、C++20 準拠コンパイラが必要です。

プレゼンテーション を 作っ て,形状 を 加える

RAIIは,オブジェクトが範囲外になると Presentation デストラクタがすべてのリソースを自動的に解放することを保証します. add_auto_shape()ShapeType のエンウムを取ると,その後に x/y 位置と点の幅・高さで形状の { PLACHOLDER 5 ] が設定テキストコンテンツへのアクセスを提供します .

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() ```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 のレベルで動作します.保存したファイルを開いて,1段目の最初の部分に移動し,フォントプロパティを直接設定してください.形填写は独立です:填表タイプを固体と定めるので色を与えます.

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

namespace asf = Aspose::Slides::Foss;

int main() ```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 とは何ですか?

オープンソースのC++ライブラリで,Microsoft Officeを必要とせずに PowerPoint .pptx のプレゼンテーションを作成し,読み取り,編集できます.

どのファイルフォーマットがサポートされていますか?

.pptx はサポートされている読み書きフォーマットです. PDF,HTML,SVGまたは画像への輸出はこの版では利用できません.

ソフトの使い方について説明します.

ありません. Aspose.Slides FOSSは,Microsoft OfficeやCOM自動化,または所有的なランタイムに依存していない独立C++ライブラリです.

どうやってインストールする?

CMake FetchContent を使用して,GitHub から直接ライブラリを統合します.このライブリュリーは C++20 に適合するコンパイラが必要です.

影や光のような視覚効果を 使ってもいいですか?

はい.このライブラリーは,外部の影,光輝,模糊感,反射効果を EffectFormat API を通して任意の形状オブジェクトにサポートします.

図書館は,資源管理のために RAII を使用していますか?

Presentation破壊器は内部状態を自動的に解放します だから明確な清掃は必要ありません

PPTX を回転させると 未知のコンテンツが破壊されるのでしょうか?

読み込み中に遭遇した未知の XML パートが,保存時に文字どおり保存されるので,図書館はまだ理解していないコンテンツは決して失われない.

ソースコードはどこで見つけられるの?

図書館はMITライセンスでGitHubにホストされています.バグレポートやプルリクエストが歓迎されます.

  

サポートと学習リソース

 日本語