La lettura di diversi tipi di documenti in modo programmatico è una pratica comune in questi giorni. In questa guida, imparerai a leggere il file PDF in C# seguendo i semplici passaggi seguenti.
Passaggi per leggere il file PDF in C#
- Crea un’applicazione console C# vuota in Visual Studio
- Aggiungi riferimento a Aspose.PDF for .NET installandolo da NuGet.org
- Carica un file PDF esistente nell’oggetto Documento
- Inizializza la classe TextAbsorber per leggere il file PDF
- Estrai il testo PDF e scrivilo nell’output della Console
- Scorri la pagina PDF Resources per trovare le immagini
- Crea un oggetto FileStream con l’immagine trovata
- Salva l’immagine sul disco locale
Di seguito il frammento di codice spiega come aprire e leggere il file PDF in C#. Sarai in grado di leggere testo ed estrarre immagini da un file PDF utilizzandolo. L’API offre la classe TextAbsorber che viene utilizzata per leggere il testo dal file PDF e puoi ottenere i risultati estratti tramite l’oggetto Text. È anche possibile trovare immagini e salvarle sul disco locale scorrendo le risorse della pagina PDF come mostrato di seguito.
Codice per leggere il file PDF 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; | |
} | |
} | |
} | |
} |
Nell’argomento precedente, hai imparato come elaborare file PDF di grandi dimensioni in C#. Le informazioni e l’esempio di codice sopra riportati ti consentiranno di aprire e leggere file PDF in C# per estrarre testo e immagini.