PDF, là một trong những định dạng tệp phổ biến nhất được hầu hết mọi doanh nghiệp và ngành sử dụng. Các tài liệu PDF có thể chứa nhiều nội dung khác nhau bao gồm văn bản được định dạng, hình ảnh, chú thích, v.v. Thông thường, việc trích xuất nội dung từ các tệp PDF là bắt buộc. Ở đây trong bài viết này, chúng ta sẽ thảo luận về cách lập trình trích xuất hình ảnh từ tài liệu PDF trong Java.

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

GroupDocs cung cấp GroupDocs.Parser cho các nhà phát triển Java để trích xuất hình ảnh từ tệp PDF. Cùng với tệp PDF, cùng một API hỗ trợ phân tích cú pháp cũng như trích xuất hình ảnh từ nhiều định dạng tài liệu khác như 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 .

Tải xuống hoặc định cấu hình

Bạn có thể tải xuống tệp JAR từ phần tải xuống hoặc chỉ nhận các cấu hình phụ thuộc và kho lưu trữ cho tệp pom.xml của các ứng dụng Java dựa trên maven của bạn.

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser</artifactId>
    <version>22.11</version>
</dependency>

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

Sau đây là các điểm từng bước chỉ ra cách lấy hình ảnh từ tệp PDF bằng một vài dòng mã Java.

  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. Nhập các lớp sau:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
  1. Tải tài liệu PDF bằng lớp Parser.
// Tải tệp PDF
try (Parser parser = new Parser("path/document.pdf")) {
    // Mã trích xuất hình ảnh ở đây.
}
  1. Trích xuất tất cả hình ảnh từ tài liệu bằng phương thức getImages.
// Trích xuất hình ảnh từ tệp đã tải
Iterable<PageImageArea> images = parser.getImages();
  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ưu tệp với phần mở rộng của chúng
for (PageImageArea image : images)  {
    image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}

Hình ảnh có thể được lưu ở nhiều định dạng hình ảnh khác nhau như PNG, JPG, BMP, WebP hoặc GIF.

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

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

// Trích xuất hình ảnh từ tệp PDF trong Java
try (Parser parser = new Parser("path/document.pdf")) 
{
    // Nhận hình ảnh
    Iterable<PageImageArea> images = parser.getImages();
    
    // Kiểm tra xem trích xuất hình ảnh có được hỗ trợ không
    if (images == null) 
    {
        System.out.println("Images extraction isn't supported");
        return;
    }
    
    int imageCounter = 0;
    // Lặp lại các hình ảnh được trích xuất
    for (PageImageArea image : images) 
    {
        image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
    }
}

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 trong Java.

Đọc thêm

Bạn có thể khám phá thêm về API Java trích xuất dữ liệu bằng cách sử dụng tài liệu của nó. 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