C++'da Sunum Slaytlarını Klonla
Giriş
Klonlama, bir şeyin tam kopyasını ya da replikasını oluşturma sürecidir. Aspose.Slides for C++ ayrıca herhangi bir slaytı kopyalama veya klonlamayı ve ardından bu klonlanmış slaytı mevcut ya da başka bir açık sunuma eklemeyi mümkün kılar. Slayt klonlama işlemi, orijinal slaytı değiştirmeden geliştiricilerin değiştirebileceği yeni bir slayt oluşturur. Slayt klonlamanın birkaç olası yolu vardır:
- Sunum içinde sona kopyala.
- Sunum içinde başka bir konuma kopyala.
- Başka bir sunumun sonuna kopyala.
- Başka bir sunumda başka bir konuma kopyala.
- Başka bir sunumda belirli bir konuma kopyala.
Aspose.Slides for C++’de, Presentation nesnesi tarafından sunulan (bir ISlide nesneleri koleksiyonu) AddClone ve InsertClone metodlarını sağlar ve bu metodlar yukarıdaki slayt klonlama türlerini gerçekleştirir.
Sunumun Sonunda Bir Slaytı Kopyalama
Aynı sunum dosyasında mevcut slaytların sonuna bir slaytı kopyalamak ve kullanmak istiyorsanız, aşağıdaki adımlara göre AddClone metodunu kullanın:
- Bir Presentation sınıfının bir örneğini oluşturun.
- Slides koleksiyonuna başvurarak ISlideCollection sınıfının bir örneğini oluşturun.
- AddClone metodunu çağırın ve klonlanacak slaytı parametre olarak verin.
- Değiştirilmiş sunum dosyasını yazın.
Aşağıdaki örnekte, bir sunumun ilk konumunda (sıfır indeks) bulunan bir slaytı sunumun sonuna kopyaladık.
Sunum içinde başka bir konuma slaytı kopyalama
Aynı sunum dosyasında slaytı farklı bir konuma kopyalamak istiyorsanız, InsertClone metodunu kullanın:
- Bir Presentation sınıfının bir örneğini oluşturun.
- Slides koleksiyonuna başvurarak sınıfın bir örneğini oluşturun.
- InsertClone metodunu çağırın ve klonlanacak slaytı yeni konumun indeksiyle birlikte parametre olarak verin.
- Değiştirilmiş sunumu PPTX dosyası olarak yazın.
Aşağıdaki örnekte, sunumun sıfır indeksinde (konum 1) bulunan bir slaytı indeks 1 – Konum 2 –‘ye kopyaladık.
Başka Bir Sunumun Sonuna Slaytı Kopyalama
Bir slaytı bir sunumdan alıp başka bir sunumun mevcut slaytlarının sonuna eklemek istiyorsanız:
- Kaynak slaytı içeren bir Presentation sınıfının bir örneğini oluşturun.
- Hedef sunumu içeren bir Presentation sınıfının bir örneğini oluşturun.
- Hedef sunumun Slides koleksiyonuna başvurarak ISlideCollection sınıfını örnekleyin.
- AddClone metodunu çağırın ve kaynak sunumdan slaytı parametre olarak verin.
- Değiştirilmiş hedef sunum dosyasını yazın.
Aşağıdaki örnekte, kaynak sunumun ilk indeksindeki bir slaytı hedef sunumun sonuna kopyaladık.
Başka Bir Sunumda Başka Bir Konuma Slaytı Kopyalama
Bir slaytı bir sunumdan alıp başka bir sunumda belirli bir konuma eklemek istiyorsanız:
- Kaynak sunumu içeren bir Presentation sınıfının bir örneğini oluşturun.
- Hedef sunumu içeren bir Presentation sınıfının bir örneğini oluşturun.
- Hedef sunumun Slides koleksiyonuna başvurarak ISlideCollection sınıfını örnekleyin.
- InsertClone metodunu çağırın ve kaynak sunumdan slaytı, istenen konum indeksini parametre olarak verin.
- Değiştirilmiş hedef sunum dosyasını yazın.
Aşağıdaki örnekte, kaynak sunumun sıfır indeksindeki bir slaytı hedef sunumun indeks 1 (konum 2) konumuna kopyaladık.
Başka Bir Sunumda Belirli Bir Konuma Slaytı Kopyalama
Bir slaytı ana slaytıyla birlikte bir sunumdan alıp başka bir sunuma eklemek istiyorsanız, önce istenen ana slaytı kaynak sunumdan hedefe kopyalamanız gerekir. Ardından bu ana slaytı kullanarak slaytı klonlayabilirsiniz. AddClone(ISlide, IMasterSlide), kaynak sunumdan değil, hedef sunumdan bir ana slayt bekler. Ana slayt ile birlikte slaytı klonlamak için aşağıdaki adımları izleyin:
- Kaynak sunumu içeren bir Presentation sınıfının bir örneğini oluşturun.
- Hedef sunumu içeren bir Presentation sınıfının bir örneğini oluşturun.
- Klonlanacak slayta ve ona ait ana slayta erişin.
- Hedef sunumun Masters koleksiyonuna başvurarak IMasterSlideCollection sınıfını örnekleyin.
- AddClone metodunu IMasterSlideCollection nesnesi üzerinde çağırın ve kaynak PPTX’ten klonlanacak ana slaytı parametre olarak verin.
- Hedef sunumun Slides koleksiyonuna başvurarak ISlideCollection sınıfını örnekleyin.
- AddClone metodunu ISlideCollection nesnesi üzerinde çağırın ve kaynak sunumdan slaytı ve ana slaytı parametre olarak verin.
- Değiştirilmiş hedef sunum dosyasını yazın.
Aşağıdaki örnekte, kaynak sunumun sıfır indeksindeki bir slaytı ve ona ait ana slaytı kullanarak hedef sunumun sonuna kopyaladık.
Belirli Bir Bölümün Sonuna Slaytı Kopyalama
Aynı sunum içinde farklı bir bölüme slaytı kopyalamak istiyorsanız, AddClone() metodunu ISlideCollection arayüzünden kullanın. Aspose.Slides for C++ bir slaytı ilk bölümden klonlamayı ve ardından klonlanmış slaytı aynı sunumun ikinci bölümüne eklemeyi mümkün kılar.
Aşağıdaki kod parçası, bir slaytı klonlayıp belirli bir bölüme eklemenizi gösterir.
Slayt Boyutunun Eşleştiğinden Emin Olun
Başka bir sunuma slaytları klonlarken, hedef sunumun slayt boyutunun kaynakla aynı olduğundan emin olun. Boyutlar farklıysa, Aspose.Slides klonlanmış şekillerin ölçeğini otomatik olarak ayarlamaz—orijinal koordinat ve boyutları korunur, bu da içeriğin kayma ya da slayt sınırlarının dışına taşmasına neden olabilir.
Klonlamadan önce hedef sunumun slayt boyutunu kaynakla eşleştirebilirsiniz:
auto sourceSize = sourcePresentation->get_SlideSize()->get_Size();
targetPresentation->get_SlideSize()->SetSize(
sourceSize.get_Width(), sourceSize.get_Height(), SlideSizeScaleType::DoNotScale);
Bunu, ana slaytı ve slaytı klonlamadan önce yapın.
SSS
Konuşmacı notları ve inceleme yorumları kopyalanır mı?
Evet. Notlar sayfası ve inceleme yorumları klona dahil edilir. İstemiyorsanız, eklemeden sonra silin.
Grafikler ve veri kaynakları nasıl ele alınır?
Grafik nesnesi, biçimlendirmesi ve gömülü verileri kopyalanır. Grafik dış bir kaynağa (ör. OLE gömülü çalışma kitabı) bağlanmışsa, bu bağlantı bir OLE nesnesi olarak korunur. Dosyalar arasında taşındıktan sonra veri erişilebilirliğini ve yenileme davranışını doğrulayın.
Klonun ekleme konumunu ve bölümlerini kontrol edebilir miyim?
Evet. Klonu belirli bir slayt indeksine ekleyebilir ve seçilen bir bölüm içine yerleştirebilirsiniz. Hedef bölüm yoksa, önce oluşturun ve ardından slaytı o bölüme taşıyın.