خواندن انواع مختلف اسناد به صورت برنامه ای این روزها امری رایج است. در این راهنمای نحوه خواندن، با دنبال کردن مراحل ساده زیر، نحوه خواندن فایل PDF در سی شارپ را خواهید آموخت.
مراحل خواندن فایل PDF در سی شارپ
- یک برنامه کنسول C# خالی در ویژوال استودیو ایجاد کنید
- با نصب آن از NuGet.org به Aspose.PDF for .NET مرجع اضافه کنید
- یک فایل PDF موجود را در شی Document بارگیری کنید
- کلاس TextAbsorber را برای خواندن فایل PDF راه اندازی کنید
- متن PDF را استخراج کرده و در خروجی کنسول بنویسید
- برای یافتن تصاویر، صفحه PDF Resources را تکرار کنید
- شی FileStream را با تصویر یافت شده ایجاد کنید
- تصویر را در دیسک محلی ذخیره کنید
قطعه کد زیر نحوه باز کردن و خواندن فایل PDF در سی شارپ را توضیح می دهد. با استفاده از آن می توانید متن را بخوانید و تصاویر را از یک فایل 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 را در سی شارپ باز کرده و بخوانید تا متن و تصاویر را استخراج کنید.