Бесплатная библиотека .NET для работы с презентационными документами
Чтение, запись, манипулирование и преобразование файлов презентаций, добавление слайдов и фигур в существующие файлы PPT/PPTX через API с открытым исходным кодом .NET.
NetOffice — это API с открытым исходным кодом, разработанный Microsoft и распространяемый в соответствии с кодексом поведения Microsoft с открытым исходным кодом для управления презентационными документами.
Используя API, вы можете добавлять текст, верхний и нижний колонтитулы, концевые заметки, сноски, стили, темы и многое другое. Он позволяет создавать высокопроизводительные презентационные документы и извлекать из них данные. API поддерживает различные платформы .NET, включая .NET 3.5, .NET 4.0, .NET 4.6 и .NET Standard 1.3.
Начало работы с NetOffice
Прежде всего, вам необходимо иметь .NET Framework 4.5 или выше. После этого загрузите репозиторий вручную с GitHub или установите его из NuGet.
Установка NetOffice из NuGet
Install-Package NetOfficeFw.Presentation
Добавляйте слайды в PowerPoint с помощью бесплатного C# API
NetOffice позволяет программистам .NET программно добавлять слайды в файлы Microsoft PowerPoint. Чтобы добавить слайды в файл PowerPoint, сначала необходимо инициализировать PowerPoint.Application и отключить окна сообщений. После запуска приложения PowerPoint вы можете добавить в него новую презентацию с помощью метода PowerApplication.Presentations.Add(). Наконец, вы можете добавлять слайды в свои презентации, используя метод Presentation.Slides.Add().
Создавайте презентации и добавляйте в них слайды с помощью C# API
// start powerpoint
PowerPoint.Application powerApplication = new PowerPoint.Application();
// create a utils instance, no need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(powerApplication);
// add a new presentation with two new slides
PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue);
PowerPoint.Slide slide1 = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank);
PowerPoint.Slide slide2 = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank);
// add shapes
slide1.Shapes.AddShape(MsoAutoShapeType.msoShape4pointStar, 100, 100, 200, 200);
slide2.Shapes.AddShape(MsoAutoShapeType.msoShapeDoubleWave, 200, 200, 200, 200);
// change blend animation
slide1.SlideShowTransition.EntryEffect = PpEntryEffect.ppEffectCoverDown;
slide1.SlideShowTransition.Speed = PpTransitionSpeed.ppTransitionSpeedFast;
slide2.SlideShowTransition.EntryEffect = PpEntryEffect.ppEffectCoverLeftDown;
slide2.SlideShowTransition.Speed = PpTransitionSpeed.ppTransitionSpeedFast;
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example04", DocumentFormat.Normal);
presentation.SaveAs(documentFile);
// close power point and dispose reference
powerApplication.Quit();
powerApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, documentFile);
Добавить метку, строку и усилитель; Звезда в презентациях с использованием бесплатного C# API
NetOffice позволяет программистам .NET добавлять метки, строки и т.д. звездочки в Microsoft Presentation File программно. Чтобы добавить содержимое в файл презентации, сначала необходимо инициализировать приложение PowerPoint.Application, отключить окна сообщений и добавить новую презентацию с помощью метода PowerApplication.Presentations.Add(), а также добавить новый слайд с помощью метода Presentation.Slides.Add(). Вы можете добавить метку, линию и звездочку на слайд с помощью методов Slide.Shapes.AddLabel(), Slide.Shapes.AddLine() и Slide.Shapes.AddShape(() соответственно.
Добавьте метку, линию и звездочку в презентации через C# API
// add a new presentation with one new slide
PowerPoint.Presentation presentation = powerApplication.Presentations.Add(MsoTriState.msoTrue);
PowerPoint.Slide slide = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank);
// add a label
PowerPoint.Shape label = slide.Shapes.AddLabel(MsoTextOrientation.msoTextOrientationHorizontal, 10, 10, 600, 20);
label.TextFrame.TextRange.Text = "This slide and created Shapes are created by NetOffice example.";
// add a line
slide.Shapes.AddLine(10, 80, 700, 80);
// add a wordart
slide.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect9, "This a WordArt", "Arial", 20,
MsoTriState.msoTrue, MsoTriState.msoFalse, 10, 150);
// add a star
slide.Shapes.AddShape(MsoAutoShapeType.msoShape24pointStar, 200, 200, 250, 250);
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", DocumentFormat.Normal);
presentation.SaveAs(documentFile);