Aspose.Slides FOSS for C++ は、PowerPoint .pptx ファイルを操作するための MIT ライセンスのライブラリです。CMake FetchContent を使用して統合し、Microsoft Office や任意のプロプライエタリランタイムをインストールせずに、すぐにプレゼンテーションの作成、読み取り、編集を開始できます。
このライブラリは、PowerPoint 自体で使用されている概念モデルである Presentation、Slide、ShapeCollection、TextFrame、Paragraph、および Portion を中心に構築された Presentation API を提供します。スライドの追加と削除、AutoShape、テーブル、コネクタの挿入、太字、斜体、フォントサイズと色による文字レベルのテキスト書式設定、単色またはグラデーションの塗りつぶしの適用、そして視覚効果(影、グロー、ぼかし、反射)の追加が可能です。
RAII セマンティクスは信頼できるリソースのクリーンアップを保証します: Presentation デストラクタはすべての内部状態を自動的に解放します。ロード中に遭遇した未知の XML パーツは保存時にそのまま保持されるため、ラウンドトリップ時にライブラリがまだ理解していないコンテンツが破壊されることはありません。ライブラリは C++20 準拠のコンパイラが必要です。追加機能については、Aspose.Slides for C++ enterprise edition を参照してください。
Presentation() または Presentation(path) を介して既存の .pptx ファイルを開きます。SlideCollection を add_empty_slide()、remove()、および remove_at() で管理します。ShapeType ジオメトリを add_auto_shape() で挿入します。add_connector() を使用して追加します。NotesSlideManager で読み書きします。pres.comment_authors() を反復処理してコメントスレッドにアクセスし、関連するコメントを取得します。Portion オブジェクトに対して、PortionFormat を使用して太字、斜体、フォントサイズ、色を適用します。FillFormat と FillType を使用して、単色または複数ストップの線形グラデーションに設定します.EffectFormat を介して任意の形状に外部シャドウ、グロー、ぼかし、反射を適用します。ParagraphFormat と set_alignment() を使用します。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;
}
これは、Microsoft Office を必要とせずに PowerPoint .pptx プレゼンテーションの作成、読み取り、編集ができる、無料の MIT ライセンスの C++ ライブラリです。
.pptx はサポートされている読み書きフォーマットです。このエディションでは PDF、HTML、SVG、または画像へのエクスポートは利用できません。
No. Aspose.Slides FOSS は、Microsoft Office、COM オートメーション、または任意のプロプライエタリランタイムに依存しないスタンドアロンの C++ ライブラリです。
CMake FetchContent を使用して、ライブラリを GitHub から直接統合します。ライブラリは C++20 準拠コンパイラが必要です。
はい。ライブラリは EffectFormat API を介して、任意のシェイプオブジェクトに対して外部シャドウ、グロー、ぼかし、反射効果をサポートします。
はい。Presentation のデストラクタは内部状態を自動的に解放するため、明示的なクリーンアップは不要です。
いいえ。ロード時に遭遇した未知の XML パーツは保存時にそのまま保持されるため、ライブラリがまだ理解できないコンテンツが失われることはありません。
このライブラリは MIT ライセンスで、GitHub にホストされています。バグ報告やプルリクエストは歓迎します。