.NET'te Sunum Görüntüleyicisi Oluştur
Giriş
Aspose.Slides for .NET, slaytlarla sunum dosyaları oluşturmak için kullanılır. Bu slaytlar, örneğin Microsoft PowerPoint’te sunumları açarak görüntülenebilir. Ancak, geliştiriciler bazen slaytları tercih ettikleri bir görüntüleyicide resim olarak görmek veya özel bir sunum görüntüleyicide kullanmak isteyebilir. Böyle durumlarda, Aspose.Slides tek tek slaytları resim olarak dışa aktarmanıza olanak tanır. Bu makale bunu nasıl yapacağınızı açıklar.
Bir Slayttan SVG Görüntüsü Oluşturma
Aspose.Slides kullanarak bir sunum slaytından SVG görüntüsü oluşturmak için aşağıdaki adımları izleyin:
- Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre slayta bir referans alın.
- Bir dosya akışı açın.
- Slaytı dosya akışına SVG görüntüsü olarak kaydedin.
int slideIndex = 0;
using (Presentation presentation = new Presentation("sample.pptx"))
{
ISlide slide = presentation.Slides[slideIndex];
using (FileStream svgStream = File.Create("output.svg"))
{
slide.WriteAsSvg(svgStream);
}
}
Özel Şekil Kimliğiyle SVG Oluşturma
Aspose.Slides, özel bir şekil ID si ile bir slayttan SVG oluşturmak için kullanılabilir. Bunu başarmak için, ISvgShape arayüzündeki Id özelliğini kullanın. CustomSvgShapeFormattingController sınıfı, şekil kimliğini ayarlamak için kullanılabilir.
int slideIndex = 0;
using (Presentation presentation = new Presentation("sample.odp"))
{
ISlide slide = presentation.Slides[slideIndex];
SVGOptions svgOptions = new SVGOptions
{
ShapeFormattingController = new CustomSvgShapeFormattingController()
};
using (FileStream svgStream = File.Create("output.svg"))
{
slide.WriteAsSvg(svgStream, svgOptions);
}
}
class CustomSvgShapeFormattingController : ISvgShapeFormattingController
{
private int m_shapeIndex;
public CustomSvgShapeFormattingController(int shapeStartIndex = 0)
{
m_shapeIndex = shapeStartIndex;
}
public void FormatShape(ISvgShape svgShape, IShape shape)
{
svgShape.Id = string.Format("shape-{0}", m_shapeIndex++);
}
}
Bir Slayt Küçük Resmi Oluşturma
Aspose.Slides, slaytların küçük resimlerini oluşturmanıza yardımcı olur. Aspose.Slides kullanarak bir slaytın küçük resmini oluşturmak için aşağıdaki adımları izleyin:
- Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre slayta bir referans alın.
- Referans alınan slayttan istediğiniz ölçekte bir küçük resim oluşturun.
- Küçük resmi tercih ettiğiniz görüntü formatında kaydedin.
int slideIndex = 0;
float scaleX = 1;
float scaleY = scaleX;
using (Presentation presentation = new Presentation("sample.pptx"))
{
ISlide slide = presentation.Slides[slideIndex];
using (IImage image = slide.GetImage(scaleX, scaleY))
{
image.Save("output.jpg", ImageFormat.Jpeg);
}
}
Kullanıcı Tanımlı Boyutlarla Slayt Küçük Resmi Oluşturma
Kullanıcı tanımlı boyutlarla bir slayt küçük resmi oluşturmak için aşağıdaki adımları izleyin:
- Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre slayta bir referans alın.
- Referans alınan slayttan belirtilen boyutlarla bir küçük resim oluşturun.
- Küçük resmi tercih ettiğiniz görüntü formatında kaydedin.
int slideIndex = 0;
Size slideSize = new Size(1200, 800);
using (Presentation presentation = new Presentation("sample.odp"))
{
ISlide slide = presentation.Slides[slideIndex];
using (IImage image = slide.GetImage(slideSize))
{
image.Save("output.jpg", ImageFormat.Jpeg);
}
}
Konuşmacı Notlarıyla Slayt Küçük Resmi Oluşturma
Aspose.Slides kullanarak konuşmacı notları içeren bir slaytın küçük resmini oluşturmak için aşağıdaki adımları izleyin:
- RenderingOptions sınıfının bir örneğini oluşturun.
- Konuşmacı notlarının konumunu ayarlamak için
RenderingOptions.SlidesLayoutOptionsözelliğini kullanın. - Presentation sınıfının bir örneğini oluşturun.
- İndeksine göre slayta bir referans alın.
- Referans alınan slaytı, render seçeneklerini kullanarak bir küçük resim oluşturun.
- Küçük resmi tercih ettiğiniz görüntü formatında kaydedin.
int slideIndex = 0;
RenderingOptions renderingOptions = new RenderingOptions
{
SlidesLayoutOptions = new NotesCommentsLayoutingOptions
{
NotesPosition = NotesPositions.BottomTruncated
}
};
using (Presentation presentation = new Presentation("sample.pptx"))
{
ISlide slide = presentation.Slides[slideIndex];
using (IImage image = slide.GetImage(renderingOptions))
{
image.Save("output.png", ImageFormat.Png);
}
}
Canlı Örnek
Aspose.Slides Viewer ücretsiz uygulamasını deneyerek Aspose.Slides API ile neler yapabileceğinizi görün:
SSS
ASP.NET web uygulamasına bir sunum görüntüleyici yerleştirebilir miyim?
Evet. Aspose.Slides’ı sunucu tarafında kullanarak slaytları görüntü veya HTML olarak render edebilir ve tarayıcıda görüntüleyebilirsiniz. Gezinti ve yakınlaştırma özellikleri, etkileşimli bir deneyim için JavaScript ile uygulanabilir.
Özel bir .NET görüntüleyicide slaytları göstermek için en iyi yöntem nedir?
Önerilen yöntem, her slaytı bir görüntü (örn. PNG veya SVG) olarak render etmek veya Aspose.Slides kullanarak HTML’ye dönüştürmek, ardından çıktıyı bir resim kutusunda (masaüstü için) veya bir HTML konteynerinde (web için) göstermektir.
Çok sayıda slaytı olan büyük sunumları nasıl yönetirim?
Büyük sunumlar için, slaytların tembel yükleme (lazy-loading) veya isteğe bağlı render edilmesini düşünün. Bu, bir slaytın içeriğinin yalnızca kullanıcı ona gittiğinde oluşturulması anlamına gelir ve bellek ile yükleme süresini azaltır.
