Програмне читання різних типів документів сьогодні є звичайною практикою. У цьому посібнику ви дізнаєтеся, як читати файл PDF у C#, дотримуючись наведених нижче простих кроків.
Кроки для читання файлу PDF у C#
- Створіть порожню консольну програму C# у Visual Studio
- Додайте посилання на Aspose.PDF for .NET, встановивши його з NuGet.org
- Завантажте наявний файл PDF в об’єкт Document
- Ініціалізувати клас TextAbsorber для читання файлу PDF
- Витягніть текст PDF і запишіть його у вихідні дані консолі
- Перегляньте сторінку PDF Resources, щоб знайти зображення
- Створіть об’єкт FileStream із знайденим зображенням
- Збережіть зображення на локальному диску
Наведений нижче фрагмент коду пояснює, як відкрити та прочитати PDF-файл у C#. Ви зможете читати текст і витягувати зображення з файлу PDF, використовуючи його. API пропонує клас TextAbsorber, який використовується для читання тексту з PDF-файлу, і ви можете отримати отримані результати за допомогою об’єкта Text. Знайти зображення та зберегти їх на локальному диску також можна за допомогою циклічного перегляду ресурсів сторінки PDF, як показано нижче.
Код для читання файлу PDF у 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; | |
} | |
} | |
} | |
} |
У попередній темі ви дізналися про як обробляти великі файли PDF на C#. Наведена вище інформація та приклад коду дозволять вам відкривати та читати PDF-файли на C#, щоб видобувати текст і зображення.