Tôi sẽ cảnh báo bạn trước rằng bạn có thể thất vọng với điều này. iText không thực sự có ý định được sử dụng như một trình phân tích cú pháp. Nó thực sự là nhiều hơn cho việc tạo ra hoàn toàn mới tài liệu PDF, nhưng bạn có thể đánh mất nó.
Để bắt đầu, sử dụng iText, bạn sẽ không thể sửa đổi tài liệu PDF hiện có. Tuy nhiên, điều bạn có thể là tạo bản sao với các tính năng bổ sung mà bạn muốn. (Nếu ai đó biết rõ hơn, hãy cho tôi biết, điều này khiến tôi phát điên.)
Điều bạn muốn làm là tạo đối tượng PdfReader từ luồng đầu vào trên tệp nguồn của bạn. Sau đó, tạo đối tượng PdfCopy (chỉ là một PdfWriter mở rộng giúp việc nhận dữ liệu từ một nguồn hiện có thuận tiện hơn) cho điểm đến của bạn.
Theo như tôi có thể biết, các dấu trang không thể lấy được từ iText cả. Có thể cần thư viện khác. Tôi nghĩ rằng jpedal có thể có khả năng trích xuất chúng (nó có thể lấy chúng như một tài liệu XML, mà sau đó bạn có thể phân tích để có được những gì bạn muốn.) Tuy nhiên bạn nhận được chúng, sau đó bạn có thể thêm chúng vào một java.util. Danh sách và đặt danh sách đó làm đường viền trên PDFCopy. Các dấu trang chỉ là HashMaps với một bộ khóa cụ thể. Tôi không chắc chắn tất cả các giá trị là gì, nhưng chúng bao gồm "Tiêu đề", "Hành động" (có vẻ là nơi bạn chỉ định rằng đây là điểm đến được đặt tên, mặc dù tôi không biết giá trị đó sẽ là bao nhiêu) và "URI" (được sử dụng nếu đây là liên kết bên ngoài - tôi nghi ngờ rằng điều này sẽ chỉ định tên của đích được đặt tên mà bạn đang liên kết đến). Một lần nữa, các chi tiết cụ thể rất khó tìm.
Sau đó lặp qua các trang của trình đọc, nhập từng trang vào PdfCopy. this page có thể giúp bạn.
Rất tiếc, tôi không hữu ích cho bạn. Chúc may mắn.
P.S. Nếu bất kỳ ai khác biết về một công cụ tốt hơn hoặc là (L) GPL hoặc BSD được cấp phép, tôi rất muốn nghe về nó.
Nguồn
2008-10-06 19:28:50
Cảm ơn, điều đó đã cho tôi đủ để tiếp tục. –