Четенето на различни типове документи програмно е обичайна практика в наши дни. В това ръководство с инструкции ще научите как да четете файл 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#, за да извличате текст и изображения.