Giriş

Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx dosyalar yerel C++‘ta, Microsoft Office’e veya herhangi bir tescilli çalışma zamanına bağımlı olmadan.

Kütüphane, programlı olarak sunum dosyaları oluşturması veya manipüle etmesi gereken geliştiriciler için tasarlanmıştır: veriden slayt desteleri otomatikleştirme, yüklenen PPTX dosyalarından metin ve meta verileri çıkarma, sunuma dayalı raporlama hatları oluşturma veya sunum oluşturmayı masaüstü ve sunucu uygulamalarına gömme. Çünkü aspose_slides_foss CMake ile oluşturulmuştur, Windows, macOS ve Linux’ta derlenir ve dağıtılır.

Temel Özellikler

  • Tam dönüşlü PPTX desteği: Herhangi bir .pptx dosyayı, içeriğini değiştirin ve kütüphanenin henüz anlamadığı bilinmeyen XML bölümlerini kaybetmeden geri kaydedin.
  • Slayt yönetimi: Slaytları ekleyin, kaldırın ve yineleyin, kullanarak prs.slides(); bir sunum, bir boş slayt ile başlar bir … oluşturduktan sonra Presentation.
  • AutoShapes, Tablolar ve Bağlayıcılar: Şekilleri ekleyin via slide.shapes().add_auto_shape(), tablo verilerini via slide.shapes().add_table(), ve şekiller arasındaki görsel bağlayıcıları via slide.shapes().add_connector().
  • Zengin metin biçimlendirme: Metni karakter düzeyinde biçimlendirin ile PortionFormat: yazı tipi boyutu, kalın, italik, altı çizili ve ARGB renk via FillType::SOLID ve ColorFormat.
  • Dolgu türleri: Uygula FillType::SOLID, Gradient, Pattern, veya Picture herhangi bir şekle doldurur.
  • Görsel efektler: Dış gölge, parıltı, yumuşak kenar, bulanıklık, yansıma ve iç gölge aracılığıyla shape.effect_format().
  • 3D formatting: Bevel, camera, light rig, material ve extrusion depth aracılığıyla shape.three_d_format().
  • Sunum notları: Not metnini her slayta ekleyin. notes_slide_manager().add_notes_slide().
  • Zincirleme yorumlar: Yazar meta verileri ve slayt konumu ile yorum ekleyin.
  • Gömülü görüntüler: Dosya yolu, bellek tamponu veya akıştan gömün.
  • Belge özellikleri: Çekirdek, uygulama ve özel özellikleri okuyun ve yazın.

Başlarken

Kütüphaneyi CMake aracılığıyla ekleyin. C++17 derleyicisi gereklidir.

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)
target_link_libraries(your_target PRIVATE aspose_slides_foss)

Bir şekil ile ilk sunumunuzu oluşturun ve kaydedin:

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

int main() {
    using namespace Aspose::Slides::Foss;

    Presentation prs;
    auto& slide = prs.slides()[0];
    auto& shape = slide.shapes().add_auto_shape(
        ShapeType::RECTANGLE, 50, 50, 400, 120
    );
    shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
    prs.save("hello.pptx", SaveFormat::PPTX);
    return 0;
}

Bu Presentation destructor, kapsam dışına çıktığında tüm dahili kaynakları otomatik olarak serbest bırakır.

Metin Biçimlendirme Örneği

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

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 50, 50, 500, 150
);
shape.text_frame()->set_text("Bold heading in corporate blue");
auto& fmt = shape.text_frame()->paragraphs()[0].portions()[0].portion_format();
fmt.set_font_height(28);
fmt.set_font_bold(NullableBool::TRUE);
fmt.fill_format().set_fill_type(FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(Color::from_argb(255, 0, 70, 127));
prs.save("formatted.pptx", SaveFormat::PPTX);

Mevcut Sınırlamalar

Bu sürümde aşağıdaki alanlar istisna fırlatır:

  • Grafikler, SmartArt ve OLE nesneleri
  • Animasyonlar ve slayt geçişleri
  • PDF, HTML, SVG veya görüntü formatlarına dışa aktar
  • Köprüler, eylem ayarları, VBA makroları ve dijital imzalar

Yükleme sırasında karşılaşılan bilinmeyen XML bölümleri, kaydedildiğinde tam olarak korunur, böylece diğer araçlar tarafından üretilen PPTX dosyaları güvenli bir şekilde dönüşüm yapar.

Ayrıca Bakınız