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>https://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.
// để 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ề: