1. Ürünler
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides C++ için FOSS

C++‘tan PowerPoint sunumları oluşturun, okuyun ve düzenleyin — ücretsiz ve açık kaynaklı, Office bağımlılığı gerekmez.

PowerPoint Sunumları için Açık Kaynak C++ Kütüphanesi

Aspose.Slides C++ için FOSS, PowerPoint .pptx dosyalarıyla çalışmak için MIT lisanslı bir kütüphanedir. CMake FetchContent aracılığıyla entegre edin ve Microsoft Office ya da herhangi bir tescilli çalışma zamanı kurmadan hemen sunumlar oluşturma, okuma ve düzenleme işlemine başlayın.

Kütüphane, PowerPoint’in kendisinin kullandığı kavramsal modele dayanan Presentation, Slide, ShapeCollection, TextFrame, Paragraph ve Portion etrafında bir Presentation API’si sunar. Slayt ekleyip kaldırın, AutoShape’ler, Tablolar ve Bağlayıcılar ekleyin, metni kalın, italik, punto boyutu ve renk gibi karakter düzeyinde biçimlendirin, katı ya da degrade dolgu uygulayın ve görsel efektler (gölge, parıltı, bulanıklık, yansıma) ekleyin.

RAII semantiği, güvenilir kaynak temizliğini garanti eder: Presentation yıkıcısı tüm iç durumu otomatik olarak serbest bırakır. Yükleme sırasında karşılaşılan bilinmeyen XML bölümleri, kaydedilirken olduğu gibi korunur, böylece dönüşüm (round‑tripping) kütüphanenin henüz anlamadığı içeriği asla yok etmez. Kütüphane, C++17 uyumlu bir derleyici gerektirir.

Sunum ve Slayt API’si

  • PPTX Oluşturma ve Açma: Yeni sunumlar oluşturun veya mevcut .pptx dosyalarını Presentation() ya da Presentation(path) aracılığıyla açın.
  • Slayt ekleme ve kaldırma: SlideCollection‘ı programlı olarak add_clone(), remove() ve remove_at() ile yönetin.
  • AutoShape’ler: add_auto_shape() ile dikdörtgenler, elipsler, çizgiler ve diğer ShapeType geometrilerini ekleyin.
  • Tablolar ve Bağlayıcılar: Şekiller arasında yapılandırılmış tablo şekilleri ve bağlayıcı çizgileri add_connector() ile ekleyin.
  • Konuşmacı notları: NotesSlideManager aracılığıyla slayt başına konuşmacı notlarını okuyun ve yazın.
  • Threaded comments: Slayt düzeyindeki yorum dizilerine get_slide_comments() ile erişin.

Nerede Aspose.Slides FOSS Kullanılabilir

  • Report generation: Veri kaynaklarından Office kullanmadan markalı slayt setleri oluşturun.
  • Template automation: CI/CD boru hatlarında dinamik içerikle PPTX şablonlarını doldurun.
  • İçerik taşıma: Mevcut sunumları okuyun ve slaytları yeniden yapılandırın veya yeniden stil verin.
  • Gömülü sistemler: Performans kritik veya kaynak kısıtlı ortamlarında PPTX dosyalarını işleyin.
  • Toplu işleme: Büyük slayt demeti kütüphanelerinde tutarlı biçimlendirme değişiklikleri uygulayın.

Metin Biçimlendirme ve Görsel Efektler

  • Character-level formatting: Kalın, italik, yazı tipi boyutu ve rengi bireysel Portion nesnelerine PortionFormat aracılığıyla uygulayın.
  • Solid and gradient fills: Şekil dolgusunu FillFormat ve FillType kullanarak tek renkli bir renk ya da çok noktalı doğrusal degrade olarak ayarlayın.
  • Shadow and glow effects: Herhangi bir şekle dış gölge, parıltı, bulanıklık ve yansıma EffectFormat aracılığıyla uygulayın.
  • Paragraph alignment: Paragraf başına sol, orta, sağ veya iki yana yaslama hizalamasını ParagraphFormat ve set_alignment() ile ayarlayın.
  • Round-trip safe: Bilinmeyen XML bölümleri yeniden kaydedildiğinde olduğu gibi korunur.

Geliştirici Deneyimi

Aspose.Slides FOSS, CMake FetchContent aracılığıyla entegre olur, bu yüzden manuel indirme veya sistem geneli kurulum gerekmez. Kütüphane, projenizle birlikte kaynaktan derlenir.

API, PowerPoint’in kendi nesne modelini (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion) yansıtır, bu yüzden PowerPoint nesne modeline aşina olan herkes kütüphaneyi hemen kullanabilir. MIT lisanslıdır, GitHub’da açık kaynaklıdır ve C++17 uyumlu bir derleyici gerektirir.

Bir Sunum Oluştur ve Bir Şekil Ekle

RAII, Presentation yıkıcısının nesne kapsam dışına çıktığında tüm kaynakları otomatik olarak serbest bırakmasını sağlar. add_auto_shape() bir ShapeType enumu, ardından x/y konumu ve puan cinsinden genişlik/yükseklik alır — şeklin text_frame i metin içeriğini ayarlamaya erişim sağlar.

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

    // Bir dikdörtgen AutoShape ekle
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Merhaba, Aspose.Slides!");

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

Metni Biçimlendir ve Doldurma Efekti Uygula

Metin biçimlendirme, Portion seviyesinde çalışır — karakter akışının en küçük birimi. Kaydedilen dosyayı açın, ilk paragrafın ilk bölümüne gidin ve yazı tipi özelliklerini doğrudan ayarlayın. Şekil doldurması bağımsızdır: doldurma tipini katı olarak ayarlayın ve bir renk atayın.

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

    // Kalın, 18pt metin
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Şeklin üzerinde katı arka plan doldurma
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}

Sıkça Sorulan Sorular

C++ için Aspose.Slides FOSS nedir?

Microsoft Office gerektirmeden PowerPoint .pptx sunumları oluşturmak, okumak ve düzenlemek için ücretsiz, MIT lisanslı bir C++ kütüphanesidir.

Hangi Dosya Formatları Destekleniyor?

PPTX desteklenen okuma/yazma formatıdır. PDF, HTML, SVG veya görüntülere dışa aktarma bu sürümde mevcut değildir.

Microsoft Office veya PowerPoint gerektiriyor mu?

Hayır. Aspose.Slides FOSS, Microsoft Office, COM otomasyonu veya herhangi bir tescilli çalışma zamanına bağımlılığı olmayan bağımsız bir C++ kütüphanesidir.

Nasıl kurarım?

Kütüphaneyi doğrudan GitHub’dan entegre etmek için CMake FetchContent kullanın. Kütüphane, C++17 uyumlu bir derleyici gerektirir.

Gölge ve parıltı gibi görsel efektler uygulayabilir miyim?

Evet. Kütüphane, EffectFormat API’si aracılığıyla herhangi bir şekil nesnesinde dış gölge, parıltı, bulanıklık ve yansıma efektlerini destekler.

Kütüphane kaynak yönetimi için RAII kullanıyor mu?

Evet. Presentation yıkıcı tüm iç durumu otomatik olarak serbest bırakır, bu yüzden açık bir temizlik gerekmez.

PPTX’in round-tripping’i bilinmeyen içeriği yok eder mi?

Hayır. Yükleme sırasında karşılaşılan bilinmeyen XML bölümleri kaydedilirken olduğu gibi korunur, böylece kütüphanenin henüz anlayamadığı içerik asla kaybolmaz.

Kaynak kodunu nerede bulabilirim?

Kütüphane MIT lisanslıdır ve GitHub’da barındırılmaktadır. Hata raporları ve pull request’ler memnuniyetle karşılanır.

  

Destek ve Öğrenme Kaynakları

 Türkçe