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

Aspose.Slides FOSS - Aspose.Slides C++ için FOSS

C++ üzerinden 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 FOSS for C++ MIT lisanslı bir kütüphane olup PowerPoint .pptx dosyalarıyla çalışmak için kullanılır. CMake FetchContent aracılığıyla entegre edin ve Microsoft Office ya da herhangi bir tescilli çalışma zamanı kurmadan sunumları oluşturma, okuma ve düzenleme işlemlerine hemen başlayın.

Kütüphane, PowerPoint’in kendisi tarafından kullanılan kavramsal model olan Presentation, Slide, ShapeCollection, TextFrame, Paragraph ve Portion etrafında inşa edilmiş bir Presentation API’si sunar. Slayt ekleyip kaldırabilir, AutoShape’ler, Tablolar ve Bağlayıcılar ekleyebilir, metni karakter düzeyinde kalın, italik, yazı tipi boyutu ve renk ile biçimlendirebilir, katı veya degrade dolgu uygulayabilir ve görsel efektler (gölge, parıltı, bulanıklık, yansıma) ekleyebilirsiniz.

RAII semantiği güvenilir kaynak temizliğini sağlar: Presentation yıkıcı tüm iç durumu otomatik olarak serbest bırakır. Yükleme sırasında karşılaşılan bilinmeyen XML parçaları kaydetme sırasında olduğu gibi korunur, böylece round‑tripping kütüphanenin henüz anlamadığı içeriği asla yok etmez. Kütüphane C++20 uyumlu bir derleyici gerektirir. Ek özellikler için Aspose.Slides for C++ enterprise edition bakınız.

Sunum ve Slayt API’si

  • PPTX Oluştur ve Aç: Yeni sunumlar oluşturun veya mevcut .pptx dosyalarını Presentation() veya Presentation(path) aracılığıyla açın.
  • Slayt ekleme ve kaldırma: Programlı olarak SlideCollection‘i add_empty_slide(), remove() ve remove_at() ile yönetin.
  • AutoShapes: Dikdörtgenleri, elipsleri, çizgileri ve diğer ShapeType geometrileri add_auto_shape() aracılığıyla ekleyin.
  • Tablolar ve Bağlayıcılar: Şekiller arasında yapılandırılmış tablo şekilleri ve bağlayıcı çizgileri ekleyin add_connector() aracılığıyla.
  • Konuşmacı notları: Her slayt için konuşmacı notlarını NotesSlideManager aracılığıyla okuyun ve yazın.
  • Threaded comments: pres.comment_authors() üzerinden yorum dizilerini yineleyerek ve ilişkili yorumlarına erişin.

Aspose.Slides FOSS nerede kullanılabilir

  • Rapor oluşturma: Markalı slayt desteleri oluşturun veri kaynaklarından Office olmadan.
  • Şablon otomasyonu: PPTX şablonlarını CI/CD boru hatlarında dinamik içerikle 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ı ortamlarda PPTX dosyalarını işleyin.
  • Toplu işleme: Büyük slayt destesi kütüphaneleri boyunca tutarlı biçimlendirme değişiklikleri uygulayın.

Metin Biçimlendirme ve Görsel Efektler

  • Karakter düzeyinde biçimlendirme: Bireysel Portion nesnelerine kalın, italik, yazı tipi boyutu ve renk uygulayın PortionFormat aracılığıyla.
  • Katı ve degrade doldurmalar: Şekil doldurmasını katı bir renk veya çok noktalı doğrusal degrade olarak FillFormat ve FillType kullanarak ayarlayın.
  • Gölge ve parıltı efektleri: Herhangi bir şekle dış gölge, parıltı, bulanıklık ve yansıma uygulamak için EffectFormat aracını kullanın.
  • Paragraf hizalaması: Her paragrafta sola, ortaya, sağa veya iki yana yaslama hizalamasını ParagraphFormat ve set_alignment() kullanarak ayarlayın.
  • Round-trip safe: Bilinmeyen XML bölümleri yeniden kaydetmede kelimesi kelimesine korunur.

Geliştirici Deneyimi

Aspose.Slides FOSS, CMake FetchContent aracılığıyla bütünleşir, bu yüzden manuel indirme veya sistem genelinde 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 sayede 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++20 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 enum alır, ardından x/y konumu ve genişlik/yükseklik noktalar cinsinden — şeklin text_frame 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];

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

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 doldurma bağımsızdır: doldurma türünü 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];

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

Sıkça Sorulan Sorular

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

Microsoft Office gerektirmeden PowerPoint .pptx sunumlarını 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.

Bunu nasıl kurarım?

Kütüphaneyi doğrudan GitHub’dan entegre etmek için CMake FetchContent kullanın. Kütüphane, C++20 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 parçaları, kaydedilirken tam olarak korunur, böylece kütüphanenin henüz anlamadığı içerik asla kaybolmaz.

Kaynak kodunu nereden bulabilirim?

Kütüphane MIT lisanslıdır ve GitHub’da barındırılmaktadır. Hata raporları ve çekme istekleri memnuniyetle karşılanır.

  

Destek ve Öğrenme Kaynakları

 Türkçe