Đọc các loại tài liệu khác nhau theo chương trình là thông lệ ngày nay. Trong hướng dẫn cách thực hiện này, bạn sẽ học cách đọc Tệp PDF trong C# bằng cách thực hiện theo các bước đơn giản bên dưới.
Các bước để đọc tệp PDF trong C#
- Tạo một Ứng dụng Bảng điều khiển C# trống trong Visual Studio
- Thêm tham chiếu vào Aspose.PDF for .NET bằng cách cài đặt nó từ NuGet.org
- Tải tệp PDF hiện có trong đối tượng Tài liệu
- Khởi tạo lớp TextAbsorber để đọc tệp PDF
- Trích xuất văn bản PDF và ghi nó vào đầu ra Console
- Duyệt qua Trang PDF Resources để tìm hình ảnh
- Tạo đối tượng FileStream với hình ảnh tìm thấy
- Lưu hình ảnh vào đĩa cục bộ
Đoạn mã dưới đây giải thích cách mở và đọc tệp PDF trong C#. Bạn sẽ có thể đọc văn bản và trích xuất hình ảnh từ tệp PDF bằng cách sử dụng nó. API cung cấp Lớp TextAbsorber được sử dụng để đọc văn bản từ tệp PDF và bạn có thể đạt được kết quả được trích xuất thông qua đối tượng Text. Cũng có thể tìm hình ảnh và lưu chúng vào đĩa cục bộ bằng cách lặp qua các tài nguyên Trang PDF như được hiển thị bên dưới.
Mã để đọc tệp PDF trong 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; | |
} | |
} | |
} | |
} |
Trong chủ đề trước, bạn đã học cách xử lý các tệp PDF lớn trong C#. Thông tin và mã ví dụ ở trên sẽ cho phép bạn mở và đọc các tệp PDF trong C# để trích xuất văn bản và hình ảnh.