よくある質問

よくある質問

よくある質問

Aspose.Slides FOSS for C++ をビルドしてリンクするにはどうすればよいですか?

CMake FetchContent を使用してライブラリをプロジェクトに追加してください。C++20 以降が必要です。

cmake_minimum_required(VERSION 3.20)
project(my_app LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

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)

add_executable(my_app main.cpp)
target_link_libraries(my_app PRIVATE aspose_slides_foss)

Microsoft Officeやその他のシステムランタイムは必要ありません。


RAII を Presentation と一緒に使用しなければならないのはなぜですか?

Presentation クラスは内部 XML リソースを管理します。オブジェクトがスコープを抜けると、デストラクタがそれらのリソースを解放します。Presentationnew でスマートポインタなしに割り当てることは避けてください。スタック割り当てまたは std::unique_ptr を使用してクリーンアップを確実に行いましょう。

常にこのパターンに従ってください:

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

int main() {
    Aspose::Slides::Foss::Presentation prs;
    // work here
    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}

どのファイル形式に保存できますか?

PPTX のみサポートされています:

prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

このエディションでは、PDF、HTML、SVG、または画像形式(PNG、JPEG)へのエクスポートは利用できません。


.ppt(古い PowerPoint 97-2003)ファイルを開くことはできますか?

いいえ。.pptx(Office Open XML)ファイルのみがサポートされています。レガシー.pptバイナリ形式はこのライブラリでは処理されません。


スライドにアクセスするにはどうすればよいですか?

スライドは、prs.slides() を介してアクセスできるゼロベースのコレクションです:

auto& slides = prs.slides();
auto& first_slide = slides[0];
auto count = slides.size();

2枚目のスライドを追加するにはどうすればよいですか?

prs.slides().add_empty_slide() をレイアウトで使用する:

Aspose::Slides::Foss::Presentation prs;
auto& layout = prs.layout_slides()[0];
prs.slides().add_empty_slide(&layout);
auto& slide2 = prs.slides()[1];
prs.save("two-slides.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);

スライドの背景色はどうやって設定しますか?

スライドの背景色は現在の API では公開されていません。BaseSlideSlide には background() メソッドがありません。この機能はこのエディションのライブラリでは利用できません。


NullableBoolはどう使いますか?

NullableBool は、書式設定プロパティに使用される三状態列挙型です。太字、斜体、その他類似のプロパティには NullableBool::TRUE(C++ true ではなく)を使用してください。

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

fmt.set_font_bold(Aspose::Slides::Foss::NullableBool::TRUE);
fmt.set_font_italic(Aspose::Slides::Foss::NullableBool::FALSE);
// Note: set_font_underline() takes TextUnderlineType, not NullableBool:
// fmt.set_font_underline(Aspose::Slides::Foss::TextUnderlineType::NONE);

テキストの色を設定しても効果がないのはなぜですか?

色を割り当てる前に、fill_typeSOLID に設定する必要があります:

fmt.fill_format().set_fill_type(Aspose::Slides::Foss::FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(
    Aspose::Slides::Foss::Color::from_argb(255, 200, 0, 0));

チャートやSmartArtを使用できますか?

いいえ。このエディションでは、チャート、SmartArt、OLE オブジェクト、アニメーション、トランジション、ハイパーリンク、VBA マクロ、およびデジタル署名は実装されていません。


このライブラリはスレッドセーフですか?

Presentationオブジェクトは独立しています。別々のスレッドから別々のPresentationインスタンスを作成して使用することは、外部ロックなしで単一のPresentationオブジェクトをスレッド間で共有しない限り安全です。


画像を埋め込むにはどうすればよいですか?

画像バイトを読み取り、prs.images()に追加し、次にPictureFrameを作成します:

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

std::ifstream file("logo.png", std::ios::binary);
std::vector<uint8_t> data((std::istreambuf_iterator<char>(file)),
                           std::istreambuf_iterator<char>());
auto& image = prs.images().add_image(data);
slide.shapes().add_picture_frame(
    Aspose::Slides::Foss::ShapeType::RECTANGLE, 50, 50, 200, 150, image);

参照

 日本語