Buscar y reemplazar texto se usa a menudo para actualizar el contenido de las presentaciones de PowerPoint. Sin embargo, para realizar esta operación para un lote de presentaciones, necesita automatización. En consecuencia, este artículo cubre cómo buscar y reemplazar texto en PowerPoint PPTX/PPT mediante programación usando C#.
API de C# para buscar y reemplazar texto en PowerPoint
Para buscar y reemplazar texto en presentaciones de PowerPoint, usaremos Aspose.Slides for .NET. Es una API rica en funciones que está diseñada para crear y manipular presentaciones de PowerPoint desde aplicaciones .NET. Puede descargar la API o instalarla usando NuGet.
PM> Install-Package Aspose.Slides.NET
Buscar y reemplazar texto en PowerPoint PPTX usando C#
Los siguientes son los pasos para buscar y reemplazar texto en una presentación PPTX usando C#.
- Cargue la presentación de PowerPoint usando la clase Presentation.
- Recorra cada Diapositiva en la presentación.
- En cada iteración, obtenga marcos de texto en una matriz ITextFrame.
- Recorra la matriz de ITextFrame y en cada iteración, realice las siguientes operaciones:
- Recorra ParagraphCollection en cada marco de texto.
- Acceda a la Colección de porciones en cada Párrafo.
- Compruebe si Porción.Texto contiene la cadena de búsqueda.
- En caso afirmativo, busque la posición de la cadena de búsqueda y reemplácela configurando la propiedad Porción.Texto.
- Guarde la presentación actualizada usando el método Presentation.Save(string, SaveFormat).
El siguiente ejemplo de código muestra cómo buscar y reemplazar texto en una presentación de PowerPoint.
// Cargar presentación
Presentation pres = new Presentation("mytextone.pptx");
string strToFind = "search string";
string strToReplaceWith = "replace string";
// Recorrer cada diapositiva
foreach (Slide slide in pres.Slides)
{
// Obtener todos los marcos de texto en la diapositiva
ITextFrame[] tf = SlideUtil.GetAllTextBoxes(slide);
for (int i = 0; i < tf.Length; i++)
foreach (Paragraph para in tf[i].Paragraphs)
foreach (Portion port in para.Portions)
// Buscar texto para ser reemplazado
if (port.Text.Contains(strToFind))
{
// Reemplazar el texto existente con el nuevo texto
string str = port.Text;
int idx = str.IndexOf(strToFind);
string strStartText = str.Substring(0, idx);
string strEndText = str.Substring(idx + strToFind.Length, str.Length - 1 - (idx + strToFind.Length - 1));
port.Text = strStartText + strToReplaceWith + strEndText;
}
}
// Guardar la presentación
pres.Save("myTextOneAspose.pptx", SaveFormat.Pptx);
Obtenga una licencia de API gratuita
Puede usar Aspose.Slides for .NET sin limitaciones de evaluación solicitando una licencia temporal.
Conclusión
La característica de buscar y reemplazar texto en presentaciones de PowerPoint se usa en varios escenarios. Para automatizar esta operación, el artículo trata sobre cómo buscar y reemplazar texto en presentaciones de PowerPoint mediante programación usando C#. Simplemente puede instalar la API en su aplicación e integrar el ejemplo de código proporcionado. Además, puede visitar la documentación para explorar otras funciones de Aspose.Slides for .NET. Además, no dude en hacernos saber sus consultas a través de nuestro foro.