Du kan ofta behöva extrahera text från PowerPoint-bilderna för att kunna utföra textanalys. Å andra sidan kanske du vill extrahera och spara texten i en fil eller databas för vidare bearbetning. I enlighet med det täcker den här artikeln hur man extraherar text från PowerPoint-presentationer med C#. I synnerhet kommer du att lära dig hur du extraherar text från en specifik bild eller hela presentationen.
- API för att extrahera text från PowerPoint PPTX
- Extrahera text från en PowerPoint-bild
- Extrahera text från en PowerPoint-presentation
- Skaffa en gratis API-licens
C# API för att extrahera text från PowerPoint PPTX
För att manipulera PowerPoint-presentationer erbjuder Aspose Aspose.Slides för .NET. Nämnda API är utformat för att implementera PowerPoint-automationsfunktioner i .NET-applikationer. Det ger också några enkla sätt att extrahera text från PPTX-presentationer. Du kan antingen ladda ner API:et eller få det installerat med NuGet.
PM> Install-Package Aspose.Slides.NET
Extrahera text från en PowerPoint-bild i C#
Följande är stegen för att extrahera text från en bild i en PowerPoint-presentation.
- Ladda presentationen med klassen Presentation.
- Hämta alla textramar från en bild till arrayen ITextFrame med metoden SlideUtil.GetAllTextBoxes().
- Gå igenom varje ITextFrame och få åtkomst till dess text med hjälp av egenskapen ITextFrame.Paragraphs.
- Hämta och skriv ut text från varje Del av stycket.
Följande kodexempel visar hur man extraherar text från en PowerPoint-bild med C#.
//Instatera PresentationEx-klass som representerar en PPTX-fil
Presentation pptxPresentation = new Presentation("demo.pptx");
//Få en array av TextFrameEx-objekt från den första bilden
ITextFrame[] textFramesSlideOne = SlideUtil.GetAllTextBoxes(pptxPresentation.Slides[0]);
//Gå igenom arrayen av textramar
for (int i = 0; i < textFramesSlideOne.Length; i++)
{
//Gå igenom stycken i nuvarande TextFrame
foreach (Paragraph para in textFramesSlideOne[i].Paragraphs)
{
//Gå igenom delar i det aktuella stycket
foreach (Portion port in para.Portions)
{
//Visa text i den aktuella delen
Console.WriteLine(port.Text);
//Visa teckensnittshöjden på texten
Console.WriteLine(port.PortionFormat.FontHeight);
//Visa teckensnittsnamnet på texten
Console.WriteLine(port.PortionFormat.LatinFont.FontName);
}
}
}
Extrahera text från PowerPoint-presentation i C#
Du kan också extrahera text från hela PowerPoint-presentationen med Aspose.Slides för .NET. Följande är stegen för att utföra denna operation.
- Ladda presentationen med klassen Presentation.
- Hämta alla textramar i presentationen med metoden SlideUtil.GetAllTextFrames().
- Gå igenom varje ITextFrame och få tillgång till dess Paragraphs.
- Gå till delarna av styckena och skriv ut deras text.
Följande kodexempel visar hur man extraherar text från en PowerPoint-presentation.
//Instatiate Presentation-klass som representerar en PPTX-fil
Presentation pptxPresentation = new Presentation("demo.pptx");
//Få en uppsättning ITextFrame-objekt från alla bilder i PPTX
ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true);
//Gå igenom arrayen av textramar
for (int i = 0; i < textFramesPPTX.Length; i++)
{
//Gå igenom stycken i nuvarande ITextFrame
foreach (IParagraph para in textFramesPPTX[i].Paragraphs)
{
//Gå igenom delar i den aktuella Iparagrafen
foreach (IPortion port in para.Portions)
{
//Visa text i den aktuella delen
Console.WriteLine(port.Text);
//Visa teckensnittshöjden på texten
Console.WriteLine(port.PortionFormat.FontHeight);
//Visa teckensnittsnamnet på texten
if (port.PortionFormat.LatinFont != null)
Console.WriteLine(port.PortionFormat.LatinFont.FontName);
}
}
}
Skaffa en gratis API-licens
Om du vill prova API utan utvärderingsbegränsningar kan du skaffa en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du extraherar text från PowerPoint-presentationer. Speciellt har du sett hur man extraherar text från en specifik bild eller hela presentationen med C#. Du kan utforska mer om Aspose.Slides för .NET med dokumentation. Om du skulle ha några frågor eller förvirring, informera oss via vårt forum.