trích xuất văn bản từ PDF

Trích xuất văn bản từ PDF trong Java

Chúng ta đều biết rằng tệp PDF là một trong những định dạng kỹ thuật số quan trọng và được sử dụng rộng rãi nhất dùng để trình bày và trao đổi tài liệu một cách đáng tin cậy, độc lập với phần mềm, phần cứng hoặc hệ điều hành. Tuy nhiên, trong một số trường hợp, chúng tôi có thể muốn lấy một đoạn trích từ các tệp PDF lớn. Hoặc, chúng tôi có thể có yêu cầu lưu PDF thành Văn bản trực tuyến. Vì vậy, trong bài viết này, chúng ta sẽ khám phá chi tiết về cách phát triển trình chuyển đổi PDF sang Văn bản bằng Java REST API.

API trình tạo PDF

Tận dụng đòn bẩy để tạo tài liệu PDF bằng các mẫu hoặc từ đầu bằng API REST của chúng tôi. Đồng thời, API cũng cho phép bạn chỉnh sửa cũng như chuyển đổi các tệp PDF sang [các định dạng được hỗ trợ] khác 6. Bạn cũng có thể tận dụng lợi ích của việc trích xuất văn bản từ PDF, giải mã và hợp nhất các tệp PDF bằng Java Cloud SDK. Bây giờ, để sử dụng Aspose.PDF Cloud SDK for Java, chúng ta cần thêm tham chiếu của nó vào ứng dụng Java của mình bằng cách đưa các chi tiết sau vào pom.xml (dự án kiểu bản dựng maven).

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

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

Sau khi cài đặt, chúng tôi cần tạo một tài khoản miễn phí trên Bảng điều khiển đám mây và lấy thông tin đăng nhập của khách hàng được cá nhân hóa.

Trích xuất văn bản từ PDF bằng Java

Hãy cùng khám phá chi tiết để trích xuất văn bản từ PDF bằng SDK đám mây Java. Trong ví dụ này, chúng tôi sẽ sử dụng thông tin đầu vào sau PdfWithTable.pdf tập tin.

pdf sang văn bản ocr

Hình ảnh 1:- Tệp đầu vào để trích xuất PDF sang Văn bản.

pdf sang văn bản ocr

Hình ảnh 2:- Trích xuất văn bản từ bản xem trước PDF

// để biết thêm ví dụ, vui lòng truy cập https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples

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 name = "PdfWithTable.pdf";
		        
    // đọc nội dung của tệp PDF đầu vào
    File file = new File(name); 
    // tải PDF lên bộ nhớ đám mây
    pdfApi.uploadFile("input.pdf", file, null);
		        
    // Tọa độ X của góc dưới bên trái
    Double LLX = 500.0;
    // Y - tọa độ của góc dưới bên trái.
    Double LLY = 500.0;
    // X - tọa độ của góc trên bên phải.
    Double URX = 800.0;
    // Y - tọa độ của góc trên bên phải.
    Double URY = 800.0;
			       
    // gọi API để chuyển đổi PDF thành văn bản
    TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    
		    
    // Di chuyển qua Văn bản xuất hiện riêng lẻ
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // viết nội dung văn bản trong bảng điều khiển
        System.out.println(response.getTextOccurrences().getList().get(counter).getText());
    }
		  
    System.out.println("Extract Text from PDF successful !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Bây giờ, hãy cố gắng hiểu đoạn mã được chỉ định ở trên:

PdfApi pdfApi = new PdfApi(clientSecret,clientId);

Tạo một phiên bản của PdfApi trong khi chuyển thông tin đăng nhập được cá nhân hóa làm đối số.

File file = new File(name); 
pdfApi.uploadFile("input.pdf", file, null);

Đọc tệp PDF đầu vào bằng đối tượng Tệp và tải nó lên bộ nhớ đám mây bằng phương thức uploadFile(…) của lớp PdfAPi. Xin lưu ý rằng tệp được tải lên với tên được sử dụng trong phương thức uploadFile.

TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    

Bây giờ gọi phương thức getText(..) trong đó chúng ta chỉ định tên của tệp PDF đầu vào, kích thước hình chữ nhật trên trang mà từ đó chúng ta cần trích xuất nội dung văn bản và trả lại nội dung đã trích xuất cho đối tượng TextRectsResponse.

response.getTextOccurrences().getList().get(counter).getText()

Cuối cùng, để in nội dung văn bản được trích xuất, chúng tôi sẽ lặp qua tất cả TextOccurances và hiển thị chúng trong bảng điều khiển.

PDF sang văn bản bằng lệnh cURL

Ngoài đoạn mã Java, chúng ta cũng có thể thực hiện thao tác pdftotext bằng các lệnh cURL. Bây giờ, một trong những điều kiện tiên quyết cho phương pháp này là 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) bằng cách sử dụng 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"

Sau khi JWT được tạo, vui lòng thực hiện lệnh sau để trích xuất văn bản từ tệp PDF đã có sẵn trong bộ nhớ đám mây.

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Mẹo nhanh

Tìm kiếm ứng dụng PDF sang văn bản miễn phí! Vui lòng thử sử dụng Trình phân tích cú pháp PDF của chúng tôi.

Kết luận

Tóm lại, trích xuất văn bản từ tệp PDF bằng Java có thể là một giải pháp mạnh mẽ cho những người muốn tự động hóa nhu cầu xử lý và phân tích dữ liệu của họ. Với sự trợ giúp của hướng dẫn này, giờ đây bạn đã có một nền tảng vững chắc để xây dựng và có thể dễ dàng triển khai giải pháp dựa trên Java của riêng mình để trích xuất văn bản từ tài liệu PDF. Cho dù bạn đang muốn trích xuất văn bản để phân tích dữ liệu, học máy hay bất kỳ mục đích nào khác, Java đều cung cấp một nền tảng linh hoạt và đáng tin cậy cho nhu cầu của bạn. Vì vậy, hãy tiếp tục và đưa các kỹ năng mới học được của bạn vào bài kiểm tra!

Nếu bạn muốn khám phá các tính năng thú vị khác do API cung cấp, vui lòng khám phá Tài liệu sản phẩm. Cuối cùng, nếu bạn gặp phải bất kỳ sự cố nào khi sử dụng API hoặc bạn có bất kỳ câu hỏi nào liên quan, vui lòng liên hệ với chúng tôi qua [Diễn đàn hỗ trợ sản phẩm] miễn phí 9.

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ề: