Изменить текст в текстовом поле на слайде Powerpoint
У меня есть презентация Powerpoint, которая содержит 3 слайда. Каждый слайд имеет текстовое поле, которое является заполнителем. Я хотел бы заменить содержимое текстового поля на одном слайде.
Мне нужно знать, как сделать это с помощью C# и OpenXML
Благодаря тонну
1 ответ
Сделайте это для каждого слайда, который вы хотите изменить:
ODP.ShapeTree tree = slide.Slide.CommonSlideData.ShapeTree;
foreach (ODP.Shape shape in tree.Elements<ODP.Shape>())
{
// Run through all the paragraphs in the document
foreach (ODD.Paragraph paragraph in shape.Descendants().OfType<ODD.Paragraph>())
{
foreach (ODD.Run run in paragraph.Elements<ODD.Run>())
{
if (run.Text.InnerText.Contains("PLACEHOLDER"))
{
run.Text = new ODD.Text("Your new text");
}
}
}
}
Помните, что если заполнители вашего шаблона содержат пробелы, это может создать два отдельных элемента run. Таким образом, вместо одного элемента run с run.Text из "Place holder", вы можете получить один запуск с run.text из "Place", а другой - с run.Text "holder".