PDFBox - Đọc văn bản
Trong chương trước, chúng ta đã biết cách thêm văn bản vào tài liệu PDF hiện có. Trong chương này, chúng ta sẽ thảo luận về cách đọc văn bản từ một tài liệu PDF hiện có.
Trích xuất văn bản từ tài liệu PDF hiện có
Trích xuất văn bản là một trong những tính năng chính của thư viện hộp PDF. Bạn có thể trích xuất văn bản bằng cách sử dụnggetText() phương pháp của PDFTextStripperlớp học. Lớp này trích xuất tất cả văn bản từ tài liệu PDF đã cho.
Sau đây là các bước để trích xuất văn bản từ một tài liệu PDF hiện có.
Bước 1: Tải tài liệu PDF hiện có
Tải tài liệu PDF hiện có bằng phương pháp tĩnh load() sau đó PDDocumentlớp học. Phương thức này chấp nhận một đối tượng tệp như một tham số, vì đây là một phương thức tĩnh nên bạn có thể gọi nó bằng cách sử dụng tên lớp như hình dưới đây.
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
Bước 2: Khởi tạo lớp PDFTextStripper
Các PDFTextStripper lớp cung cấp các phương thức để lấy văn bản từ tài liệu PDF, do đó, hãy khởi tạo lớp này như hình dưới đây.
PDFTextStripper pdfStripper = new PDFTextStripper();
Bước 3: Lấy văn bản
Bạn có thể đọc / lấy nội dung của một trang từ tài liệu PDF bằng cách sử dụng getText() phương pháp của PDFTextStripperlớp học. Đối với phương thức này, bạn cần chuyển đối tượng tài liệu làm tham số. Phương thức này lấy văn bản trong một tài liệu đã cho và trả về dưới dạng đối tượng Chuỗi.
String text = pdfStripper.getText(document);
Bước 4: Đóng tài liệu
Cuối cùng, đóng tài liệu bằng cách sử dụng close() phương thức của lớp PDDocument như hình dưới đây.
document.close();
Thí dụ
Giả sử, chúng ta có một tài liệu PDF với một số văn bản trong đó như hình dưới đây.
Ví dụ này trình bày cách đọc văn bản từ tài liệu PDF được đề cập ở trên. Ở đây, chúng tôi sẽ tạo một chương trình Java và tải một tài liệu PDF có tênnew.pdf, được lưu trong đường dẫn C:/PdfBox_Examples/. Lưu mã này trong một tệp có tênReadingText.java.
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class ReadingText {
public static void main(String args[]) throws IOException {
//Loading an existing document
File file = new File("C:/PdfBox_Examples/new.pdf");
PDDocument document = PDDocument.load(file);
//Instantiate PDFTextStripper class
PDFTextStripper pdfStripper = new PDFTextStripper();
//Retrieving text from PDF document
String text = pdfStripper.getText(document);
System.out.println(text);
//Closing the document
document.close();
}
}
Biên dịch và thực thi tệp Java đã lưu từ dấu nhắc lệnh bằng các lệnh sau.
javac ReadingText.java
java ReadingText
Khi thực hiện, chương trình trên lấy văn bản từ tài liệu PDF đã cho và hiển thị nó như hình dưới đây.
This is an example of adding text to a page in the pdf document. we can add as many lines
as we want like this using the ShowText() method of the ContentStream class.