Att läsa olika typer av dokument programmatiskt är vanligt i dessa dagar. I den här instruktionsguiden får du lära dig hur du läser PDF-fil i C# genom att följa nedanstående enkla steg.
Steg för att läsa PDF-fil i C#
- Skapa en tom C#-konsolapplikation i Visual Studio
- Lägg till referens till Aspose.PDF for .NET genom att installera det från NuGet.org
- Ladda en befintlig PDF-fil i dokumentobjekt
- Initiera TextAbsorber klass för att läsa PDF-fil
- Extrahera PDF-text och skriv den till konsolutgång
- Iterera genom PDF-sidan Resources för att hitta bilder
- Skapa FileStream-objekt med hittad bild
- Spara bilden på lokal disk
Nedan kodavsnitt förklarar hur man öppnar och läser PDF-fil i C#. Du kommer att kunna läsa text och extrahera bilder från en PDF-fil genom att använda den. API:et erbjuder TextAbsorber Class som används för att läsa text från PDF-fil och du kan uppnå de extraherade resultaten via Text-objektet. Att hitta bilder och spara dem på en lokal disk är också möjligt genom att gå igenom PDF-sidors resurser som visas nedan.
Kod för att läsa PDF-fil i C#
using System; | |
using System.IO; | |
// Add reference to Aspose.PDF for .NET API | |
// Use following namespace to read PDF file | |
using Aspose.Pdf; | |
namespace ReadPDFFiles | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Set license before reading PDF file | |
Aspose.Pdf.License AsposePDFLicense = new Aspose.Pdf.License(); | |
AsposePDFLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
string inFile = @"c:\ReadPDFFileInCSharp.pdf"; | |
// Load an existing PDF file in Document object to read | |
Document pdf = new Document(inFile); | |
// 1. Read text from PDF file | |
// Initialize TextAbsorber Class to read Text from PDF file | |
Aspose.Pdf.Text.TextAbsorber textAbsorber = new Aspose.Pdf.Text.TextAbsorber(); | |
// Call Page.Accept() method to let TextAbsorber find text in PDF Pages | |
pdf.Pages.Accept(textAbsorber); | |
// Write the extracted text to Console output | |
Console.WriteLine(textAbsorber.Text); | |
// 2. Extract images from PDF file | |
int imageIndex = 1; | |
// Iterate through PDF pages | |
foreach (var pdfPage in pdf.Pages) | |
{ | |
// Check available images while reading the PDF | |
foreach (XImage image in pdfPage.Resources.Images) | |
{ | |
// Create file stream for found image | |
FileStream extractedImage = new FileStream(String.Format("Page{0}_Image{1}.jpg", pdfPage.Number, imageIndex), FileMode.Create); | |
// Save output image to the disk | |
image.Save(extractedImage, System.Drawing.Imaging.ImageFormat.Jpeg); | |
// Close stream | |
extractedImage.Close(); | |
imageIndex++; | |
} | |
// Reset image index | |
imageIndex = 1; | |
} | |
} | |
} | |
} |
I det föregående ämnet lärde du dig hur man bearbetar stora PDF-filer i C#. Ovanstående information och kodexempel gör att du kan öppna och läsa PDF-filer i C# för att extrahera text och bilder.