ایجاد پاورپوینت C#

ارائه های MS PowerPoint به شما این امکان را می دهد که نمایش های اسلاید حاوی متن، تصاویر، نمودارها، انیمیشن ها و عناصر دیگر ایجاد کنید. گزینه های مختلف قالب بندی اضافی به شما امکان می دهد ارائه های خود را جذاب تر کنید. در این پست با نحوه ایجاد چنین ارائه هایی به صورت برنامه ای آشنا خواهید شد. شما یاد خواهید گرفت که چگونه با استفاده از سی شارپ، ارائه های PPTX با متن، جداول، تصاویر و نمودارها ایجاد کنید.

C# PowerPoint API - دانلود رایگان

Aspose.Slides for .NET یک API دستکاری ارائه است که به شما امکان می دهد اسناد پاورپوینت را از داخل برنامه های NET خود ایجاد و دستکاری کنید. API تقریباً تمام ویژگی‌های ممکن مورد نیاز برای پیاده‌سازی ویژگی‌های اولیه و پیشرفته اتوماسیون پاورپوینت را فراهم می‌کند. می‌توانید API را دانلود یا از طریق NuGet نصب کنید.

Install-Package Aspose.Slides.NET

ایجاد پاورپوینت در سی شارپ

بیایید با ایجاد یک ارائه پاورپوینت خالی با استفاده از Aspose.Slides برای دات نت شروع کنیم. در زیر مراحل انجام این کار آمده است.

نمونه کد زیر نحوه ایجاد یک ارائه پاورپوینت در سی شارپ را نشان می دهد.

// نمونه سازی یک شی Presentation که یک فایل ارائه را نشان می دهد
using (Presentation presentation = new Presentation())
{
    // اسلاید اول را دریافت کنید
    ISlide slide = presentation.Slides[0];

    // افزودن محتوا به اسلاید...
    
    // ذخیره ارائه
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

باز کردن ارائه پاورپوینت موجود در سی شارپ

برای باز کردن یک ارائه پاورپوینت موجود، نیازی به تلاش اضافی ندارید. به سادگی مسیر فایل PPTX را به سازنده کلاس Presentation ارائه دهید و کارتان تمام است. نمونه کد زیر نحوه باز کردن یک ارائه PPTX موجود را نشان می دهد.

// باز کردن فایل ارائه با پاس دادن مسیر فایل به سازنده کلاس Presentation
Presentation pres = new Presentation("OpenPresentation.pptx");

// چاپ تعداد کل اسلایدهای ارائه
System.Console.WriteLine(pres.Slides.Count.ToString());

اضافه کردن یک اسلاید به ارائه در سی شارپ

پس از ایجاد ارائه، می توانید شروع به اضافه کردن اسلایدها به آن کنید. مراحل زیر برای افزودن یک اسلاید در ارائه با استفاده از Aspose.Slides برای دات نت آمده است.

نمونه کد زیر نحوه اضافه کردن یک اسلاید در ارائه پاورپوینت با استفاده از C# را نشان می دهد.

// کلاس Instantiate Presentation که فایل ارائه را نشان می دهد
using (Presentation pres = new Presentation())
{
    // کلاس SlideCollection را راه اندازی کنید
    ISlideCollection slds = pres.Slides;

   for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // یک اسلاید خالی به مجموعه اسلایدها اضافه کنید
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // فایل PPTX را در دیسک ذخیره کنید
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

درج متن در اسلاید با استفاده از C#

اکنون می توانیم محتوا را به اسلایدهای ارائه پاورپوینت اضافه کنیم. ابتدا با استفاده از مراحل زیر یک متن به اسلاید اضافه می کنیم.

  • یک ارائه جدید با استفاده از کلاس Presentation ایجاد کنید.
  • مرجع اسلاید را در ارائه دریافت کنید.
  • یک IAutoShape با ShapeType به عنوان مستطیل در یک موقعیت مشخص از اسلاید اضافه کنید.
  • مرجع آن شی IAutoShape جدید اضافه شده را بدست آورید.
  • یک TextFrame به AutoShape حاوی متن پیش‌فرض اضافه کنید.
  • ارائه را به عنوان یک فایل PPTX ذخیره کنید.

نمونه کد زیر نحوه اضافه کردن متن به اسلاید در ارائه با استفاده از C# را نشان می دهد.

// Instantiate PresentationEx// Instantiate PresentationEx
using (Presentation pres = new Presentation())
{
    // اسلاید اول را دریافت کنید
    ISlide sld = pres.Slides[0];

    // یک AutoShape از نوع Rectangle اضافه کنید
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // TextFrame را به مستطیل اضافه کنید
    ashp.AddTextFrame(" ");

    // دسترسی به قاب متن
    ITextFrame txtFrame = ashp.TextFrame;

    // شی Paragraph را برای قاب متن ایجاد کنید
    IParagraph para = txtFrame.Paragraphs[0];

    // شیء قسمت را برای پاراگراف ایجاد کنید
    IPortion portion = para.Portions[0];

    // تنظیم متن
    portion.Text = "Aspose TextBox";

    // ارائه را در دیسک ذخیره کنید
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

ایجاد جدول در یک ارائه با استفاده از C#

Aspose.Slides for .NET راه آسانی برای ایجاد جدول در سند ارائه ارائه می دهد. مراحل زیر برای آن آورده شده است.

  • یک نمونه از کلاس Presentation ایجاد کنید.
  • مرجع یک اسلاید را با استفاده از شاخص آن بدست آورید.
  • آرایه های ستون ها را با عرض و ردیف ها را با ارتفاع تعریف کنید.
  • با استفاده از روش Slide.Shapes.AddTable() که توسط شیء IShapes در معرض دید قرار گرفته است، جدولی را به اسلاید اضافه کنید و مرجع جدول را در مثال ITable دریافت کنید.
  • برای اعمال قالب بندی در هر سلول تکرار کنید.
  • با استفاده از ویژگی Table.Rows[][].TextFrame.Text متن را به سلول ها اضافه کنید.
  • ارائه را به عنوان یک فایل PPTX ذخیره کنید.

نمونه کد زیر نحوه ایجاد جدول در یک اسلاید از ارائه پاورپوینت را نشان می دهد.

// کلاس Instantiate Presentation که فایل PPTX را نشان می دهد
Presentation pres = new Presentation();

// به اسلاید اول دسترسی پیدا کنید
ISlide sld = pres.Slides[0];

// ستون ها را با عرض و ردیف ها را با ارتفاع تعریف کنید
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// شکل جدول را به اسلاید اضافه کنید
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// قالب حاشیه را برای هر سلول تنظیم کنید
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;

		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
	}
}

// سلول های 1 و 2 ردیف 1 را ادغام کنید
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// متن را به سلول ادغام شده اضافه کنید
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// PPTX را در دیسک ذخیره کنید
pres.Save("table.pptx", SaveFormat.Pptx);

ایجاد نمودار در یک ارائه با استفاده از C#

در زیر مراحل اضافه کردن نمودار در ارائه پاورپوینت با استفاده از سی شارپ آمده است.

  • یک نمونه از کلاس Presentation ایجاد کنید.
  • مرجع یک اسلاید را بر اساس شاخص بدست آورید.
  • با استفاده از روش [ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single) 22 نموداری با نوع دلخواه اضافه کنید.
  • عنوان نمودار را اضافه کنید.
  • به کاربرگ داده نمودار دسترسی داشته باشید.
  • تمام سری ها و دسته های پیش فرض را پاک کنید.
  • اضافه کردن سری و دسته بندی های جدید.
  • داده های نمودار جدید را برای سری نمودار اضافه کنید.
  • رنگ پر را برای سری نمودارها تنظیم کنید.
  • برچسب های سری نمودار را اضافه کنید.
  • ارائه را به عنوان یک فایل PPTX ذخیره کنید.

نمونه کد زیر نحوه اضافه کردن نمودار در ارائه با استفاده از C# را نشان می دهد.

// کلاس Instantiate Presentation که فایل PPTX را نشان می دهد
Presentation pres = new Presentation();

// به اسلاید اول دسترسی پیدا کنید
ISlide sld = pres.Slides[0];

// نمودار را با داده های پیش فرض اضافه کنید
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// تنظیم عنوان نمودار
// Chart.ChartTitle.TextFrameForOverriding.Text = "عنوان نمونه";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// سری اول را روی نمایش مقادیر تنظیم کنید
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// تنظیم شاخص برگه داده نمودار
int defaultWorksheetIndex = 0;

// دریافت کاربرگ داده نمودار
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// سری ها و دسته های پیش فرض تولید شده را حذف کنید
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// اضافه شدن سری جدید
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// اضافه کردن دسته های جدید
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// اولین سری نمودار را در نظر بگیرید
IChartSeries series = chart.ChartData.Series[0];

// اکنون داده های سری را پر می کنیم

series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// تنظیم رنگ پر برای سری
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// سری دوم نمودار را در نظر بگیرید
series = chart.ChartData.Series[1];

// اکنون داده های سری را پر می کنیم
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// تنظیم رنگ پر برای سری
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// اولین برچسب نشان دادن نام دسته خواهد بود
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// نمایش مقدار برای برچسب سوم
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// ذخیره ارائه با نمودار
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

درباره نمودارهای ارائه بیشتر بیاموزید اینجا.

یک تصویر در ارائه اضافه کنید

در زیر مراحل افزودن تصاویر در اسلاید ارائه آمده است.

  • با استفاده از کلاس Presentation یک ارائه جدید ایجاد کنید.
  • تصویر SVG را با استفاده از روش File.ReadAllText(String path) بخوانید.
  • با استفاده از روش [Presentation.Slides[0].Shapes.AddPictureFrame(ShapeType shapeType، float x، float y، عرض شناور، ارتفاع شناور، تصویر IPPImage) 26 تصویر را به اسلاید اضافه کنید.
  • ارائه را ذخیره کنید.

نمونه کد زیر نحوه افزودن تصویر به ارائه در سی شارپ را نشان می دهد.

// ایجاد ارائه
using (var p = new Presentation())
{
	// تصویر را بخوانید
	var svgContent = File.ReadAllText("image.svg");
	
	// اضافه کردن تصویر به مجموعه تصاویر
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// اضافه کردن تصویر به اسلاید
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// ذخیره ارائه
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

نتیجه

در این مقاله نحوه ایجاد پاورپوینت از ابتدا با استفاده از سی شارپ را یاد گرفتید. علاوه بر این، نحوه افزودن اسلاید، متن، جداول، تصاویر و نمودارها را در ارائه های جدید یا موجود PPTX مشاهده کرده اید. می‌توانید با استفاده از مستندات درباره API اطلاعات بیشتری کسب کنید.

همچنین ببینید

نکته: علاوه بر ایجاد اسلایدها یا ارائه ها، Aspose.Slides [ویژگی های بسیاری27 را ارائه می دهد که به شما امکان می دهد با ارائه ها کار کنید. به عنوان مثال، Aspose با استفاده از API های خود، [نمایشگر آنلاین رایگان برای ارائه مایکروسافت پاورپوینت28 را توسعه داد.