Introduction

Aspose.Slides FOSS for .NET provides a comprehensive set of classes for managing PowerPoint presentations entirely in C#. The library lets you create new .pptx Dosyaları kaydırmak, mevcut dosyalarını yüklemek, slaytları ve şekilleri manipüle etmek ve sonuçları disklere geri kaydetmek - hepsi Microsoft Office veya herhangi bir dış bağımlılık kurmadan.

O zamanlar Aspose.Slides.Foss NuGet paketleri .NET 9.0’a yöneliktir ve Windows, macOS, Linux ve Docker konteynerlerinde aynı şekilde çalışır. MIT lisansı altında yayınlanır, bu nedenle ticari ve açık kaynaklı projelerde kısıtlamalar olmadan kullanılabilir.

Bu yazı, çekirdek sunum yönetimi yeteneklerini inceler: slaytlarla çalışmak, şekil hierarşileri oluşturmak , metin düzenlemek, tabloları yönetmek ve PPTX’e tasarruf etmek.


Ne içeriyor

Yaratma ve yükleme sunumları

O zamanlar Presentation sınıf her işlem için giriş noktasıdır. boş bir sunum oluşturabilirsiniz, bir dosya yolu üzerinden yükleyebilirsiniz veya bir akımdan okuyabilirsiniz. IDisposable,Bu yüzden onu bir using Bu kaynaklar doğru şekilde serbest bırakılmasını sağlar.

// Create a brand-new, empty presentation
using var pres = new Presentation();

// Load an existing file
using var existing = new Presentation("report.pptx");

O zamanlar Presentation nesne, tam slayt hierarşisini özellikler aracılığıyla ortaya çıkarır: Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images,ve NotesSize.

Slides ile çalışmak

O zamanlar SlideCollection Geri döndü Presentation.Slides ekleme, klonlama, yerleştirme, yeniden düzenleme ve kaldırma destekler. aynı sunum içinde veya sunuların üzerinden bir slayt klonu yapabilirsiniz, ayrıca düzenleri koruyarak veya düzeltmek.

using var pres = new Presentation();

// The default presentation contains one blank slide
var firstSlide = pres.Slides[0];

// Clone the first slide and append it
pres.Slides.AddClone(firstSlide);

// Insert a clone at a specific position
pres.Slides.InsertClone(1, firstSlide);

// Remove a slide by index
pres.Slides.RemoveAt(2);

// Total slide count
int count = pres.Slides.Count;

Each Slide Fuarlar SlideNumber, Hidden, LayoutSlide, NotesSlideManager,ve Name.Koleksiyonu iterate edebilirsiniz. foreach veya bir array ile dönüştürülür. ToArray().

Şekilleri ve AutoShapes

Her slayt bir ShapeCollection erişilebilir yoluyla Slide.Shapes.Kullanım AddAutoShape(), AddConnector(),ve AddPictureFrame() En yaygın şekil türlerini eklemek için.

using var pres = new Presentation();
var slide = pres.Slides[0];

// Add a rectangle AutoShape
var rect = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 50, 300, 150);

// Add a connector
var connector = slide.Shapes.AddConnector(
    ShapeType.BentConnector3, 100, 200, 200, 50);

// Reorder a shape to bring it forward
slide.Shapes.Reorder(0, rect);

// Remove all shapes
slide.Shapes.Clear();

O zamanlar AddAutoShape ve InsertAutoShape Yöntemler kabul A ShapeType enum değer artı pozisyon ve boyut koordinatları. AddConnector, InsertConnector, AddPictureFrame,ve InsertPictureFrame Aynı modelle takip edin.

Etiket: bölümler ve bölümleri

Bir sunumda yazılan yazı, bir TextFrame,içerdiği bir a ParagraphCollection.Her biri Paragraph tutar a PortionCollection • Üzerine Portion Tekstil temsil eden nesneler bağımsız biçimlendirme ile çalışır.

var shape = slide.Shapes.AddAutoShape( ShapeType.Rectangle, 50, 50, 400, 200);

// Access the shape’s text frame var tf = shape.TextFrame;

// Read or set the full text tf.Text = “Hello, presentation world!”;

// Work with individual paragraphs and portions var para = new Paragraph(); var portion = new Portion(“Formatted run”); para.Portions.Add(portion); tf.Paragraphs.Add(para);


Each `Portion` A var `PortionFormat` yazı tipi, boyutu, cesur/italik, renk, alt çizgi ve diğer karakter seviyesine sahip özellikleri kontrol etmek için mülk. `ParagraphFormat` kontrolü uyum, kurşun tarzı, uzay ve indentasyon.

### Tables

Tabloları ekleyerek `ShapeCollection.AddTable`, sütun genişlikleri ve aralıklı yükseklikler gibi kabul. geri dönüşü `Table` nesneye erişim sağlar `Rows`, `Columns`,ve bireysel `Cell` nesneler için.

double[] colWidths = { 150, 150, 150 };
double[] rowHeights = { 40, 40, 40 };

var table = slide.Shapes.AddTable(
    50, 50, colWidths, rowHeights);

// Merge cells in the second row
table.MergeCells(table.Rows[1][0], table.Rows[1][2], false);

// Apply a visual style preset
table.StylePreset = TableStylePreset.MediumStyle2Accent1;

sunumları tasarruf etmek

O zamanlar Presentation.Save Metoda belgeyi bir dosya veya akışa yazar. SaveFormat enum çıkış biçimini belirler. PPTX, desteklenen ilk çıkışı biçimidir.

using var pres = new Presentation();
// ... build slides ...

// Save to a file
pres.Save("output.pptx", SaveFormat.Pptx);

// Save to a stream
using var ms = new MemoryStream();
pres.Save(ms, SaveFormat.Pptx);

// Save specific slides by index
pres.Save("subset.pptx", new[] { 1, 3 }, SaveFormat.Pptx);

Ayrıca bir geçebilirsiniz SaveOptions Üretimi daha fazla kontrol altına almayı amaçlamaktadır.


Hızlı Başlangıç

.NET için Aspose.Slides FOSS paketini .net CLI kullanarak yükleme:

dotnet add package aspose.slides.foss

Sonra oluşturun ve bir minimum sunum kaydetin:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

// 1. Create a new presentation
using var pres = new Presentation();

// 2. Get the default slide
var slide = pres.Slides[0];

// 3. Add a title shape
var title = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 30, 600, 60);
title.AddTextFrame("Quarterly Report");

// 4. Add a content shape
var body = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 120, 600, 300);
var bodyTf = body.AddTextFrame("");
var para = new Paragraph();
para.Portions.Add(new Portion("Revenue grew 12% year-over-year."));
bodyTf.Paragraphs.Add(para);

// 5. Save as PPTX
pres.Save("quarterly-report.pptx", SaveFormat.Pptx);

Desteklenen Formatlar

FormatExtensionReadWrite
PPTX.pptx içinEvetEvet
PPSX.px içinHayırPlanned
PPTM.pptm içinHayırPlanned
POTX.POTX İÇİNHayırPlanned
ODP.ODPHayırPlanned
FODP.FODP içinHayırPlanned

Not : PPTX okuma ve yazma tamamen uygulanır. diğerleri SaveFormat Enum değerleri (PPSX, PPTM, ODP vb.) ilerleyiş uyumluluğu için tanımlanır ve gelecekteki yayınlarda işlevsel olacaktır.


Açık Kaynak & Lisans

Aspose.Slides FOSS for .NET is released under the MIT license. The full source code is available on GitHub. ticari ve açık kaynak projelerinde kullanabilirsiniz, kodu değiştirebilir ve kısıtlamadan yeniden dağıtabilirsiniz. API anahtarı, lisans dosyası veya kayıt gerektirmez.


Başlamaya başlar

İlgili Kaynaklar