Tệp PDF thường bao gồm Văn bản, Hình ảnh, Tiêu đề, Chú thích và các thành phần khác. Và vì định dạng này duy trì bố cục tài liệu trên các nền tảng (Máy tính để bàn / Di động, v.v.), nên nó được sử dụng rộng rãi để chia sẻ thông tin qua internet. Tuy nhiên, chúng tôi có thể có yêu cầu trích xuất nội dung văn bản của tài liệu PDF để xử lý thêm. Vì vậy, trong bài viết này, chúng ta sẽ thảo luận chi tiết về cách trích xuất văn bản từ PDF bằng Java Cloud SDK. Sau khi thao tác hoàn tất, đầu ra được lưu ở định dạng TXT.
API chuyển đổi PDF sang TXT
Aspose.PDF Cloud SDK for Java là giải pháp API REST đã giành giải thưởng của chúng tôi, cung cấp khả năng tạo, chỉnh sửa và chuyển đổi PDF sang JPG, XPS, HTML, DOCX và nhiều định dạng được hỗ trợ khác. Bây giờ để triển khai khả năng nhận dạng văn bản pdf trong ứng dụng Java, 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 cài đặt SDK, bước quan trọng tiếp theo là tạo tài khoản miễn phí trên Aspose Cloud. Vì vậy, vui lòng đă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 trong các phần tiếp theo.
PDF sang văn bản trong Java
Vui lòng làm theo các bước dưới đây để thực hiện chuyển đổi PDF sang Văn bản bằng Java Cloud SDK. Vì vậy, sau khi chuyển đổi thành công, tệp TXT kết quả sẽ được lưu trong bộ nhớ đá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(…)
- Tạo biến Integer chỉ định số trang của PDF để trích xuất văn bản và các trường hợp Double chỉ ra vùng hình chữ nhật của trang mà chúng ta cần trích xuất nội dung Văn bản
- Cuối cùng gọi phương thức getPageText(…) để lấy nội dung văn bản từ PDF đầu vào
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 cụ thể của PDF để chuyển đổi
int pageNumber =1;
// Tọa độ X của góc dưới bên trái
Double LLX = 0.0;
// Y - tọa độ của góc dưới bên trái.
Double LLY = 0.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.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// ví dụ tệp TXT kết quả
FileWriter myWriter = new FileWriter("filename.txt");
// Bây giờ, duyệt qua Độ xuất hiện của văn bản riêng lẻ để nhận kết quả in trong bảng điều khiển
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// ghi nội dung văn bản vào tệp TXT
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// đóng trình xử lý TXT
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
Bạn có thể tải xuống tệp PDF mẫu được sử dụng trong ví dụ trên từ marketing.pdf và extracted.txt
Trích xuất văn bản từ PDF bằng lệnh cURL
Có thể dễ dàng truy cập các API REST thông qua các lệnh cURL, vì vậy trong phần này, chúng ta sẽ khám phá tùy chọn về cách chúng ta có thể trích xuất nội dung Văn bản từ PDF bằng các lệnh cURL. Vì vậy, như một điều kiện tiên quyết, 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, chúng tôi cần thực hiện lệnh sau để trích xuất tất cả các lần xuất hiện văn bản trong tài liệu PDF.
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>"
Phần kết luận
Bài viết này đã giải thích chi tiết về cách chuyển đổi PDF sang TXT bằng Java Cloud SDK. Đồng thời, chúng tôi cũng đã khám phá các tùy chọn để trích xuất Văn bản từ PDF bằng các lệnh cURL. Vì vậy, với tính linh hoạt của việc duyệt qua nhiều trang PDF, chúng tôi có quyền kiểm soát nơi trích xuất nội dung. Chúng tôi thực sự khuyên bạn nên khám phá sản phẩm Tài liệu để tìm hiểu thêm về các tính năng thú vị khác do Java Cloud API cung cấp. 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í]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ề: