Định dạng Tài liệu Di động (PDF) là một định dạng tài liệu phổ biến và được sử dụng rộng rãi do Adobe phát triển. Tài liệu PDF có thể chứa nhiều loại nội dung bao gồm văn bản được định dạng, hình ảnh, chú thích, trường biểu mẫu, v.v. Phân tích cú pháp tài liệu PDF theo chương trình là một trường hợp sử dụng phổ biến và có nhiều cách để trích xuất văn bản. Tuy nhiên, trích xuất hình ảnh từ tài liệu PDF là một nhiệm vụ phức tạp. Bài viết này trình bày cách dễ dàng bạn có thể trích xuất hình ảnh từ tài liệu PDF bằng lập trình trong C#.

.NET API để trích xuất hình ảnh từ tệp PDF

GroupDocs.Parser for .NET API sẽ đóng vai trò trích xuất hình ảnh từ tệp PDF. Cùng với PDF, API hỗ trợ phân tích cú pháp và trích xuất hình ảnh từ tài liệu soạn thảo văn bản, bảng tính, sách điện tử, bản trình bày, email, tệp lưu trữ ZIP và nhiều định dạng tài liệu khác.

Bạn có thể tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API trong ứng dụng .NET của bạn qua NuGet.

PM> Install-Package GroupDocs.Parser

Các bước để trích xuất hình ảnh từ tài liệu PDF bằng C#

Hãy xem nhanh từng bước cách lấy hình ảnh từ tệp PDF bằng một vài dòng mã C#.

  1. Tạo một dự án mới.
  2. Tải xuống API như đã đề cập ở trên hoặc cập nhật lên phiên bản API mới nhất.
  3. Thêm các không gian tên sau:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
  1. Tải tài liệu PDF bằng lớp Parser.
// Tạo một thể hiện của lớp Parser
using (Parser parser = new Parser("path/document.pdf"))
{
  // mã của bạn ở đây.
}
  1. Trích xuất hình ảnh từ tài liệu bằng phương pháp GetImages.
// Trích xuất hình ảnh
IEnumerable<PageImageArea> images = parser.GetImages();

// Kiểm tra xem trích xuất hình ảnh có được hỗ trợ không
if (images == null)
{
    Console.WriteLine("Images extraction isn't supported");
    return;
}
  1. Truy cập từng hình ảnh từ bộ sưu tập và lưu nó bằng phương thức Lưu.
// Lặp lại các hình ảnh đã truy xuất
foreach (PageImageArea image in images)
{
    // Lưu hình ảnh
    image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
    imageNumber++;
}

Bạn có thể lưu hình ảnh ở nhiều hình ảnh khác nhau như JPG, PNG, BMP, WebP hoặc GIF.

Mã hoàn chỉnh C# – Trích xuất hình ảnh từ PDF

Đây là mã hoàn chỉnh cho phép bạn lấy tất cả hình ảnh từ tệp PDF.

// Trích xuất hình ảnh từ PDF bằng C#
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    // Kiểm tra xem trích xuất hình ảnh có được hỗ trợ không
    if (images == null) 
    {
        Console.WriteLine("Images extraction isn't supported");
        return;
    }
    
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    
    // Lặp lại các hình ảnh đã truy xuất
    foreach (PageImageArea image in images)
    {
        // Lưu hình ảnh
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
        imageNumber++;
    }
}

Kết quả

Tài liệu PDF mẫu

Tài liệu PDF có hình ảnh để giải nén.

Hình ảnh trích xuất

trích xuất hình ảnh từ PDF.

Nếu bạn yêu cầu, nó cũng được giải thích trong một bài viết riêng về cách bạn có thể Trích xuất hình ảnh từ bất kỳ trang cụ thể nào của tài liệu PDF bằng C#.

Đọc thêm

Bạn có thể khám phá thêm về API khai thác dữ liệu .NET bằng cách sử dụng tài liệu của nó. Ngoài ra, bạn có thể chia sẻ thắc mắc của mình với chúng tôi qua diễn đàn của chúng tôi.

Xem thêm