Buat Penampil Presentasi di .NET
Pendahuluan
Aspose.Slides untuk .NET digunakan untuk membuat file presentasi dengan slide. Slide ini dapat dilihat dengan membuka presentasi di Microsoft PowerPoint, misalnya. Namun, pengembang kadang perlu melihat slide sebagai gambar di penampil gambar pilihan mereka atau menggunakannya dalam penampil presentasi khusus. Dalam kasus tersebut, Aspose.Slides memungkinkan Anda mengekspor slide individual sebagai gambar. Artikel ini menjelaskan cara melakukannya.
Menghasilkan Gambar SVG dari Slide
- Buat sebuah instance kelas Presentation.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Buka aliran file.
- Simpan slide sebagai gambar SVG ke aliran file.
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);
}
}
Menghasilkan SVG dengan ID Bentuk Kustom
Aspose.Slides dapat digunakan untuk menghasilkan sebuah SVG dari slide dengan ID bentuk khusus. Untuk mencapainya, gunakan properti Id dari antarmuka ISvgShape. Kelas CustomSvgShapeFormattingController dapat digunakan untuk mengatur ID bentuk.
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++);
}
}
Membuat Gambar Miniatur Slide
Aspose.Slides membantu Anda menghasilkan gambar miniatur slide. Untuk menghasilkan miniatur slide menggunakan Aspose.Slides, ikuti langkah-langkah berikut:
- Buat sebuah instance kelas Presentation.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Buat gambar miniatur dari slide yang direferensikan dengan skala yang diinginkan.
- Simpan gambar miniatur dalam format gambar pilihan Anda.
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);
}
}
Membuat Miniatur Slide dengan Dimensi yang Ditentukan Pengguna
Untuk membuat gambar miniatur slide dengan dimensi yang ditentukan pengguna, ikuti langkah-langkah berikut:
- Buat sebuah instance kelas Presentation.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Hasilkan gambar miniatur dari slide yang direferensikan dengan dimensi yang ditentukan.
- Simpan gambar miniatur dalam format gambar pilihan Anda.
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);
}
}
Membuat Miniatur Slide dengan Catatan Pembicara
Untuk menghasilkan miniatur slide dengan catatan pembicara menggunakan Aspose.Slides, ikuti langkah-langkah berikut:
- Buat sebuah instance kelas RenderingOptions.
- Gunakan properti
RenderingOptions.SlidesLayoutOptionsuntuk mengatur posisi catatan pembicara. - Buat sebuah instance kelas Presentation.
- Dapatkan referensi ke slide berdasarkan indeksnya.
- Hasilkan gambar miniatur dari slide yang direferensikan dengan menggunakan opsi rendering.
- Simpan gambar miniatur dalam format gambar pilihan Anda.
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);
}
}
Contoh Langsung
Coba aplikasi gratis Aspose.Slides Viewer untuk melihat apa yang dapat Anda implementasikan dengan API Aspose.Slides:
FAQ
Apakah Saya dapat menyematkan penampil presentasi dalam aplikasi web ASP.NET?
Ya. Anda dapat menggunakan Aspose.Slides di sisi server untuk merender slide sebagai gambar atau HTML dan menampilkannya di peramban. Fitur navigasi dan zoom dapat diimplementasikan dengan JavaScript untuk pengalaman interaktif.
Apa cara terbaik menampilkan slide di dalam penampil .NET khusus?
Pendekatan yang disarankan adalah merender setiap slide sebagai gambar (misalnya PNG atau SVG) atau mengkonversinya ke HTML menggunakan Aspose.Slides, kemudian menampilkan output di dalam picture box (untuk desktop) atau kontainer HTML (untuk web).
Bagaimana cara menangani presentasi besar dengan banyak slide?
Untuk deck besar, pertimbangkan lazy-loading atau rendering slide sesuai permintaan. Ini berarti menghasilkan konten slide hanya ketika pengguna menavigasinya, sehingga mengurangi penggunaan memori dan waktu pemuatan.
