Sách điện tử, thường được gọi là Sách điện tử, là một cuốn sách ở dạng kỹ thuật số có thể đọc được trên các thiết bị điện tử khác nhau. Các thiết bị này bao gồm thiết bị đọc sách điện tử chuyên dụng như Kindle hoặc máy tính xách tay, máy tính để bàn và điện thoại thông minh. Có nhiều định dạng tệp phổ biến của Sách điện tử đang được sử dụng trên thị trường bao gồm; EPUB, FictionBook FB2, Microsoft Compiled HTML Help - CHM, DjVu, MOBI, PDF, và nhiều thứ khác. Là một lập trình viên, bài viết này sẽ giúp bạn lập trình trích xuất hình ảnh từ sách điện tử bằng C# trong các ứng dụng .NET.

Các chủ đề sau đây sẽ được đề cập dưới đây:

.NET API để trích xuất hình ảnh từ sách điện tử

Để trích xuất hình ảnh từ sách điện tử, tôi sẽ sử dụng API GroupDocs.Parser for .NET trong các ví dụ C# của bài viết này. Cùng với Sách điện tử, API này 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, PDF, 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

Trích xuất hình ảnh từ Sách điện tử EPUB trong C#

Hãy bắt đầu với Sách điện tử EPUB để phân tích cú pháp cho hình ảnh. Các bước tiếp theo là mã C# phân tích cú pháp Sách điện tử EPUB và trích xuất tất cả hình ảnh trong đó.

  • Tạo đối tượng lớp Parser.
  • Sử dụng phương pháp GetImages để trích xuất tất cả hình ảnh của Sách điện tử EPUB.
  • Duyệt qua các hình ảnh được trích xuất để lưu từng cái một.
alice EPUB

Sách điện tử EPUB từ Adobe [Thư viện sách điện tử mẫu][12]

Mã C# sau triển khai các bước phân tích cú pháp đã đề cập để phân tích cú pháp sang Sách điện tử EPUB được hiển thị ở trên và lưu từng hình ảnh trích xuất vào đĩa.

// Phân tích sách điện tử để trích xuất hình ảnh từ tệp EPUB, FB2, CHM và lưu vào đĩa trong C#
using (Parser parser = new Parser("ebook.epub"))
{
    // Trích xuất hình ảnh từ sách điện tử
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    // Lặp lại các hình ảnh được trích xuất
    foreach (PageImageArea image in images)
    {
        image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
        imageNumber++;
    }
}
Trích xuất hình ảnh từ EPUB trong C#

Do đó, tất cả các hình ảnh có sẵn sẽ được lưu. Đây là một trong những hình ảnh được hiển thị dưới dạng mẫu.

Bạn có thể lưu hình ảnh đã trích xuất ở bất kỳ định dạng tệp hình ảnh được hỗ trợ nào sau đây:

  • JPG
  • PNG
  • WEB
  • GIF
  • BMP

Trích xuất hình ảnh từ sách điện tử FB2, CHM trong C#

Nếu bạn có Sách điện tử ở định dạng FB2, CHM hoặc một số định dạng khác, bạn có thể trích xuất hình ảnh của sách theo cách tương tự. Bạn chỉ cần chuyển Sách điện tử của mình tới hàm tạo Trình phân tích cú pháp trong khi tạo đối tượng. Sau đó, phương thức GetImages sẽ trích xuất hình ảnh từ bất kỳ sách điện tử nào được cung cấp bằng cùng một mã C#.

// Pass the FB2, CHM, PDF, or any other eBook to Parser contructor
Parser parser = new Parser("ebook.fb2"); // FB2
// Parser parser = new Parser("ebook.chm"); // CHM
// Parser parser = new Parser("ebook.pdf"); // PDF
IEnumerable<PageImageArea> images = parser.GetImages();

Sự kết luận

Tôi hy vọng bây giờ bạn sẽ cảm thấy thoải mái khi lấy tất cả hình ảnh từ sách điện tử bằng định dạng EPUB, FB2, CHM và các định dạng tệp khác trong các ứng dụng .NET của mình theo chương trình. Bạn thậm chí có thể xây dựng ứng dụng trích xuất hình ảnh của riêng mình bằng GroupDocs.Parser for .NET API.

Để biết thêm về API, bạn có thể truy cập tài liệu hoặc các ví dụ mã nguồn mở tại GitHub. Đối với bất kỳ vấn đề nào khác, bạn có thể liên hệ với bộ phận hỗ trợ nhanh tại diễn đàn.

Xem thêm