Sıkça Sorulan Sorular

Sıkça Sorulan Sorular

Sıkça Sorulan Sorular

Aspose.Slides FOSS for C++‘ı nasıl derler ve bağlarım?

CMake FetchContent kullanarak kütüphaneyi projenize ekleyin. C++20 veya daha yenisi gereklidir.

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 veya başka bir sistem çalışma zamanı gerekmez.


RAII’yi Presentation ile neden kullanmalıyım?

Presentation sınıfı dahili XML kaynaklarını yönetir. Nesne kapsam dışına çıktığında, yıkıcısı bu kaynakları serbest bırakır. Presentation‘yi new ile akıllı gösterici olmadan tahsis etmeyin; temizlik garantilemek için yığın tahsisi veya std::unique_ptr kullanın.

Her zaman bu desene uyun:

#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;
}

Hangi dosya formatlarını kaydedebilirim?

Yalnızca PPTX desteklenir:

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

PDF, HTML, SVG veya görüntü formatları (PNG, JPEG) için dışa aktarma bu sürümde mevcut değildir.


.ppt (eski PowerPoint 97-2003) dosyalarını açabilir miyim?

Hayır. Yalnızca .pptx (Office Open XML) dosyaları desteklenir. Eski .ppt ikili formatı bu kütüphane tarafından işlenmez.


Slaytlara nasıl erişebilirim?

Slaytlar, prs.slides() aracılığıyla erişilebilen sıfır tabanlı bir koleksiyondur:

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

İkinci bir slaytı nasıl eklerim?

prs.slides().add_empty_slide() ile bir düzen kullanın:

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);

Slayt arka plan rengini nasıl ayarlarım?

Slayt arka plan rengi mevcut API’de ortaya çıkarılmamıştır. BaseSlide ve Slide bir background() yöntemine sahip değildir. Bu özellik kütüphanenin bu sürümünde mevcut değildir.


Nasıl kullanırım NullableBool?

NullableBool biçimlendirme özellikleri için kullanılan üç durumlu bir enum’dur. Kalın, italik ve benzeri özellikler için NullableBool::TRUE (C++ true değil) kullanın:

#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);

Metin rengini ayarlamak neden etkisiz?

Rengi atamadan önce fill_type değerini SOLID olarak ayarlamalısınız:

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));

Grafikleri veya SmartArt’ı kullanabilir miyim?

Hayır. Çizelgeler, SmartArt, OLE nesneleri, animasyonlar, geçişler, köprüler, VBA makroları ve dijital imzalar bu sürümde uygulanmamıştır.


Bu kütüphane iş parçacığı güvenli mi?

Her Presentation nesnesi bağımsızdır. Ayrı iş parçacıklarından ayrı Presentation örnekleri oluşturmak ve kullanmak, tek bir Presentation nesnesini iş parçacıkları arasında dış kilitleme olmadan paylaşmadığınız sürece güvenlidir.


Bir resmi nasıl gömebilirim?

Görüntü baytlarını okuyun ve prs.images()‘ye ekleyin, ardından bir PictureFrame oluşturun:

#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);

Ayrıca Bakınız

 Türkçe