Jak czytać plik PDF w C#

Programowe czytanie różnego rodzaju dokumentów jest obecnie powszechną praktyką. Z tego poradnika dowiesz się, jak czytać plik PDF w języku C#, wykonując poniższe proste czynności.

Kroki, aby przeczytać plik PDF w C#

  1. Utwórz pustą aplikację konsolową języka C# w programie Visual Studio
  2. Dodaj odwołanie do Aspose.PDF for .NET, instalując je z NuGet.org
  3. Załaduj istniejący plik PDF do obiektu Document
  4. Zainicjuj klasę TextAbsorber, aby odczytać plik PDF
  5. Wyodrębnij tekst PDF i zapisz go na wyjściu konsoli
  6. Przejrzyj stronę PDF Resources, aby znaleźć obrazy
  7. Utwórz obiekt FileStream ze znalezionym obrazem
  8. Zapisz obraz na dysku lokalnym

Poniższy fragment kodu wyjaśnia, jak otworzyć i odczytać plik PDF w języku C#. Będziesz mógł czytać tekst i wyodrębniać obrazy z pliku PDF za jego pomocą. API oferuje klasę TextAbsorber, która służy do odczytywania tekstu z pliku PDF, a wyodrębnione wyniki można uzyskać za pomocą obiektu Text. Znajdowanie obrazów i zapisywanie ich na dysku lokalnym jest również możliwe poprzez przeglądanie zasobów strony PDF, jak pokazano poniżej.

Kod do odczytu pliku PDF w 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;
}
}
}
}

W poprzednim temacie nauczyłeś się jak przetwarzać duże pliki PDF w C#. Powyższe informacje i przykładowy kod umożliwią otwieranie i odczytywanie plików PDF w języku C# w celu wyodrębnienia tekstu i obrazów.

 Polski