2012-03-06 38 views
6

Tôi đang sử dụng Apache PDFBox để đọc tài liệu PDF có cấu trúc phân cấp được xác định bởi dấu trang. Hệ thống phân cấp ở dạng cây với nội dung chỉ ở cấp độ lá.Trích xuất văn bản giữa hai dấu trang bằng cách sử dụng Apache PdfBox

Trích xuất văn bản giữa hai bookmark mức lá sử dụng đoạn mã sau:

Stripper.setStartBookmark(), 
Stripper.setEndBookmark(), 
Stripper.writeText()), 

Returns văn bản trong toàn bộ trang để thay thế. Trong ngắn hạn, vấn đề của tôi là tương tự như được đề cập trong this thread.

Có cách nào để trích xuất nội dung giữa hai dấu trang không?

Nếu có, thay đổi trong mã của tôi là gì?

+0

@Shiram -Tôi có cùng một câu hỏi. xin vui lòng gửi câu trả lời nếu bạn đã tìm ra nó – Kasun

+0

Bạn đã tìm thấy một giải pháp? Nếu bạn không có ví dụ về dấu trang (ví dụ, ở định dạng XML). – maffo

Trả lời

0

Tôi đoán rằng dấu trang của bạn không chứa dữ liệu chính xác.

Có vẻ như các bookmark bạn đang sử dụng chỉ được trỏ đến các trang nơi nội dung của bạn bắt đầu, chứ không phải là một vị trí trên trang.

Dưới đây là một ví dụ về một bookmark chứa dữ liệu vị trí:

<Title Action="GoTo" Style="bold" Page="2 FitH 518"> 
Title Name 
</Title> 
+0

Trong PDFBox, các dấu trang được phân giải thành PDPageXYZDestination, là kết quả của các hành động GoTo cụ thể từ các dấu trang. Vì vậy, họ thực sự trỏ đến một vị trí tuyệt đối trong trang, được xác minh trong trình xem PDF của tôi, khi nhấp vào dấu trang sẽ cuộn trực tiếp đến phần. – nickb

Các vấn đề liên quan