Trích xuất hình ảnh PDF

Cách trích xuất hình ảnh PDF bằng Cloud Java

Chúng tôi thường xuyên sử dụng các tệp PDF vì chúng hỗ trợ tuyệt vời cho nội dung Văn bản và hình ảnh. Khi các thành phần này đã được đặt bên trong tài liệu, bố cục của tệp sẽ được giữ nguyên cho dù bạn sử dụng nền tảng nào để xem chúng. Tuy nhiên, chúng tôi có thể có yêu cầu trích xuất hình ảnh PDF. Điều này có thể được thực hiện bằng ứng dụng xem PDF nhưng bạn cần duyệt thủ công từng trang và lưu từng hình ảnh riêng lẻ. Ngoài ra, trong một trường hợp khác, nếu bạn có PDF dựa trên hình ảnh và bạn cần thực hiện PDF OCR, thì trước tiên bạn cần trích xuất tất cả các hình ảnh rồi thực hiện thao tác OCR. Điều này thực sự khó khăn khi bạn có một bộ tài liệu lớn nhưng một giải pháp có lập trình có thể là một giải pháp nhanh chóng và đáng tin cậy. Vì vậy, trong bài viết này, chúng ta sẽ khám phá các tùy chọn để trích xuất hình ảnh từ PDF bằng Java Cloud SDK

API chuyển đổi PDF sang JPG

Để chuyển đổi PDF sang JPG hoặc JPG sang PDF trong ứng dụng Java, Aspose.PDF Cloud SDK for Java là một lựa chọn tuyệt vời. Đồng thời, nó cũng cho phép bạn trích xuất hình ảnh từ PDF, trích xuất văn bản từ PDF, trích xuất tệp đính kèm từ PDF cũng như cung cấp rất nhiều tùy chọn để thao tác với PDF. Vì vậy, để triển khai tính năng lưu hình ảnh PDF trong ứng dụng Java, trước tiên chúng ta cần thêm tài liệu tham khảo Cloud SDK vào dự án của mình. Vì vậy, vui lòng thêm các chi tiết sau vào tệp pom.xml của dự án kiểu xây dựng maven.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-pdf-cloud</artifactId>
        <version>21.11.0</version>
    </dependency>
</dependencies>

Sau khi tham chiếu SDK đã được thêm và bạn không có bất kỳ tài khoản hiện có nào trên Aspose Cloud, vui lòng tạo một tài khoản miễn phí bằng địa chỉ email hợp lệ. Sau đó đăng nhập bằng tài khoản mới tạo và tra cứu/tạo Client ID và Client Secret tại Cloud Dashboard. Những chi tiết này được yêu cầu cho mục đích xác thực trong các phần sau.

Trích xuất hình ảnh PDF trong Java

Vui lòng làm theo các bước dưới đây để trích xuất hình ảnh từ PDF và sau khi thao tác hoàn tất, hình ảnh được lưu trữ trên thư mục riêng trên Bộ lưu trữ đám mây.

  • Trước tiên, chúng ta cần tạo một đối tượng PdfApi trong khi cung cấp ClientID và Client secret làm đối số
  • Thứ hai, tải tệp PDF đầu vào bằng cách sử dụng Phiên bản tệp
  • Tải tệp PDF đầu vào lên bộ nhớ đám mây bằng phương thức uploadFile(…)
  • Chúng tôi cũng sẽ sử dụng một tham số tùy chọn để đặt chi tiết Chiều cao & Chiều rộng cho hình ảnh được trích xuất
  • Cuối cùng, gọi phương thức putImagesExtractAsJpeg(…) lấy tên PDF đầu vào, Số trang để trích xuất hình ảnh, kích thước hình ảnh được trích xuất và tên của thư mục trên Bộ nhớ đám mây để lưu hình ảnh được trích xuất
try
    {
    // Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
	  
    // tạo một phiên bản của PdfApi
    PdfApi pdfApi = new PdfApi(clientSecret,clientId);

    // tên của tài liệu PDF đầu vào
    String inputFile = "marketing.pdf";

    // đọc nội dung của tệp PDF đầu vào
    File file = new File("//Users//"+inputFile);
	    
    // tải PDF lên bộ nhớ đám mây
    pdfApi.uploadFile("input.pdf", file, null);

    // Trang PDF để trích xuất hình ảnh
    int pageNumber =1;

    // chiều rộng cho hình ảnh trích xuất
    int width = 600;
    // chiều cao của hình ảnh trích xuất
    int height = 800;
	    
    // thư mục lưu ảnh đã giải nén
    String folderName = "NewFolder";
	       
    // Trích xuất hình ảnh PDF và lưu trên Cloud Storage
    pdfApi.putImagesExtractAsJpeg(inputFile, pageNumber, width, height, null, null, folderName);
	    
    // in thông báo thành công
    System.out.println("PDF images Successsuly extracted !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }
Trích xuất xem trước hình ảnh PDF

Image1:- Trích xuất PDF Hình ảnh xem trước

Có thể tải xuống tệp PDF mẫu được sử dụng trong ví dụ trên từ input.pdf.

Lưu hình ảnh PDF bằng lệnh cURL

Bây giờ chúng ta sẽ gọi API để trích xuất hình ảnh PDF bằng các lệnh cURL. Bây giờ là điều kiện tiên quyết cho phương pháp này, trước tiên chúng ta cần tạo mã thông báo truy cập JWT (dựa trên thông tin đăng nhập của khách hàng) trong khi thực hiện lệnh sau.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Khi chúng tôi có mã thông báo JWT, vui lòng thực hiện lệnh sau để lưu hình ảnh PDF vào thư mục riêng trên bộ nhớ Đám mây.

curl -X PUT "https://api.aspose.cloud/v3.0/pdf/input_file.pdf/pages/1/images/extract/jpeg?width=0&height=0&destFolder=NewFolder" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Phần kết luận

Sau khi đọc bài viết này, bạn đã học được một cách tiếp cận đơn giản nhưng đáng tin cậy để trích xuất hình ảnh PDF bằng cách sử dụng đoạn mã Java cũng như thông qua các lệnh cURL. Như chúng tôi đã nhận thấy, chúng tôi có một đòn bẩy để trích xuất hình ảnh từ trang được chỉ định của tệp PDF và cung cấp nhiều quyền kiểm soát hơn đối với quá trình trích xuất. Sản phẩm Documentation được làm phong phú với một loạt các chủ đề tuyệt vời giải thích thêm về các khả năng của API này.

Ngoài ra, vì tất cả SDK đám mây của chúng tôi đều được xuất bản theo giấy phép MIT, nên bạn có thể cân nhắc tải xuống mã nguồn hoàn chỉnh từ GitHub và sửa đổi nó theo yêu cầu của mình. Trong trường hợp có bất kỳ vấn đề nào, bạn có thể cân nhắc liên hệ với chúng tôi để được giải quyết nhanh chóng thông qua diễn đàn hỗ trợ sản phẩm miễn phí.

Những bài viết liên quan

Vui lòng truy cập các liên kết sau để tìm hiểu thêm về: