2010-05-25 26 views
6

Trong các tệp PDF, nó khá dễ dàng tương tác với các trường biểu mẫu qua Javascript API.Hiển thị hoặc ẩn các phần tử trong PDF qua Javascript

Có thể thực hiện điều này (cụ thể là hiển thị/ẩn) cho tùy ý yếu tố trên một trang không? Nói, không chỉ các trường biểu mẫu, nhưng văn bản, các phần tử đồ họa, hình ảnh được nhúng ... Có API để tương tác với các trường đó không?

Nếu có, làm cách nào để xác định đối tượng?

Trả lời

2

Phần lớn điều này phụ thuộc vào cách "làm phẳng" tài liệu. Bạn có thể dễ dàng truy cập vào các liên kết, tiêu đề trang, biểu tượng, v.v., cho đến khi tôi biết bạn không phải đối phó với tài liệu song song với HTML DOM, trong đó mọi thứ có thể được tham chiếu trong một số cách.

Khi một tệp PDF được tạo, thậm chí từ một ứng dụng lớp như Illustrator, các phần của tài liệu được hợp nhất (làm phẳng) để giữ kích thước tệp nhỏ. Mỗi lớp trình bày mới có thể chứa những gì, với nhà thiết kế ban đầu, có thể không liên quan và/hoặc các phần tử không liên quan. Nội dung nào đó ở góc trên cùng bên phải của trang có thể được hợp nhất với một thứ dường như không liên quan ở dưới cùng bên trái.

Tất cả phụ thuộc vào cài đặt của người tạo tài liệu được sử dụng. Hãy nhớ rằng bất cứ ai tạo ra nó thậm chí có thể đã chọn không chuyển đổi các mục sang định dạng PDF ở tất cả - ví dụ, nó được phép nhập toàn bộ các trang dưới dạng các tệp hình ảnh đơn lẻ. Trong trường hợp các yếu tố có thể được giải quyết, bạn thường phải lặp lại như các mục tìm kiếm phần tử được đặt tên (như trang hoặc tiêu đề hoặc biểu tượng).

+0

Hm, thú vị. Tôi biết một chút, nhưng không phải tất cả. Tôi có thể hỏi, "biểu tượng" là gì? Đó có phải là thanh công cụ hay các thực thể được đặt tên bên trong tệp không? – Boldewyn

+1

@Boldewin; Biểu tượng là các biểu tượng chỉ liên kết với các nút. (Tôi biết, khá đáng xấu hổ. Đáng buồn thay, cho đến nay tôi khá ấn tượng với các API Adobe.) – Robusto

0

Bạn không thể giả định rằng người dùng đang sử dụng plugin Adobe PDF tầm thường và không an toàn.

+0

Trong trường hợp đặc biệt * * * của tôi, tôi * có thể * giả sử nó. Nhưng cảm ơn vì đã thử. – Boldewyn

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