Как читать PDF-файл в C#

Программное чтение различных типов документов в наши дни является обычной практикой. В этом практическом руководстве вы научитесь читать файл PDF на C#, выполнив следующие простые шаги.

Шаги для чтения файла PDF в С#

  1. Создайте пустое консольное приложение C# в Visual Studio
  2. Добавьте ссылку на Aspose.PDF for .NET, установив его с NuGet.org.
  3. Загрузите существующий файл PDF в объект документа
  4. Инициализировать класс TextAbsorber для чтения файла PDF
  5. Извлеките текст PDF и запишите его на вывод консоли
  6. Просмотрите страницу PDF Resources, чтобы найти изображения.
  7. Создать объект FileStream с найденным изображением
  8. Сохраните изображение на локальный диск

Ниже приведен фрагмент кода, объясняющий, как открыть и прочитать PDF-файл на C#. С его помощью вы сможете читать текст и извлекать изображения из файла PDF. API предлагает класс TextAbsorber, который используется для чтения текста из файла PDF, и вы можете получить извлеченные результаты с помощью объекта Text. Поиск изображений и их сохранение на локальный диск также возможен путем циклического просмотра ресурсов страницы PDF, как показано ниже.

Код для чтения PDF-файла на С#

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;
}
}
}
}

В предыдущем разделе вы узнали как обрабатывать большие файлы PDF в С#. Приведенная выше информация и пример кода позволят вам открывать и читать PDF-файлы на C# для извлечения текста и изображений.

 Русский