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.
.pptx dosyalarını Presentation() ya da Presentation(path) aracılığıyla açın.SlideCollection‘ı programlı olarak add_clone(), remove() ve remove_at() ile yönetin.add_auto_shape() ile dikdörtgenler, elipsler, çizgiler ve diğer ShapeType geometrilerini ekleyin.add_connector() ile ekleyin.NotesSlideManager aracılığıyla slayt başına konuşmacı notlarını okuyun ve yazın.get_slide_comments() ile erişin.Portion nesnelerine PortionFormat aracılığıyla uygulayın.FillFormat ve FillType kullanarak tek renkli bir renk ya da çok noktalı doğrusal degrade olarak ayarlayın.EffectFormat aracılığıyla uygulayın.ParagraphFormat ve set_alignment() ile ayarlayın.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.
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;
}
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;
}
Microsoft Office gerektirmeden PowerPoint .pptx sunumları oluşturmak, okumak ve düzenlemek için ücretsiz, MIT lisanslı bir C++ kütüphanesidir.
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.
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.
Kütüphaneyi doğrudan GitHub’dan entegre etmek için CMake FetchContent kullanın. Kütüphane, C++17 uyumlu bir derleyici gerektirir.
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.
Evet. Presentation yıkıcı tüm iç durumu otomatik olarak serbest bırakır, bu yüzden açık bir temizlik gerekmez.
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.
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.