Het programmatisch lezen van verschillende soorten documenten is tegenwoordig een gangbare praktijk. In deze handleiding leert u hoe u PDF Bestand in C# kunt lezen door onderstaande eenvoudige stappen te volgen.
Stappen om PDF-bestand te lezen in C#
- Maak een lege C# Console-toepassing in Visual Studio
- Voeg een verwijzing toe naar Aspose.PDF for .NET door het te installeren vanaf NuGet.org
- Laad een bestaand PDF-bestand in Document-object
- Initialiseer TextAbsorber Class om PDF-bestand te lezen
- PDF-tekst extraheren en naar console-uitvoer schrijven
- Doorloop de PDF-pagina Resources om afbeeldingen te vinden
- Maak een FileStream-object met gevonden afbeelding
- Sla de afbeelding op de lokale schijf op
Onderstaand codefragment legt uit hoe u een PDF-bestand in C# kunt openen en lezen. U kunt tekst lezen en afbeeldingen uit een PDF-bestand extraheren door het te gebruiken. De API biedt TextAbsorber Class die wordt gebruikt om tekst uit een PDF-bestand te lezen en u kunt de geëxtraheerde resultaten bereiken via Text object. Afbeeldingen zoeken en opslaan op de lokale schijf is ook mogelijk door door PDF Page-bronnen te bladeren, zoals hieronder wordt weergegeven.
Code om PDF-bestand te lezen in 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; | |
} | |
} | |
} | |
} |
In het vorige onderwerp heb je hoe grote PDF-bestanden te verwerken in C# geleerd. Met de bovenstaande informatie en het codevoorbeeld kunt u PDF-bestanden openen en lezen in C# om tekst en afbeeldingen te extraheren.