Mô tả chi tiết cấu trúc tệp

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng phần mềm bình bản tự động phuc vụ ngành công nghiệp in (Trang 27 - 32)

Chƣơng 2 Cấu trúc chuẩn nén PDF

2.3. Mô tả chi tiết cấu trúc tệp

Mục này mô tả cách đối tượng được tổ chức trong một tập tin PDF cho truy cập ngẫu nhiên hiệu quả và cập nhật gia tăng. Một tập tin PDF Tuân thủ cơ bản được xây dựng trong bốn yếu tố sau đây :

 Một tiêu đề line xác định các phiên bản của đặc tả PDF mà chiếu theo tập tin;  Body chứa các đối tượng tạo nên tài liệu chứa trong tập tin;

 Một bảng tham chiếu chéo có chứa thông tin về các đối tượng gián tiếp trong các tập tin;

Hình 2.2: Mô tả cấu trúc tệp

Một trailer cho vị trí của bảng tham chiếu chéo và của một số đối tượng đặc biệt trong Body của các tập tin. Cấu trúc ban đầu này có thể được sửa đổi bằng cách cập nhật sau đó, mà thêm các yếu tố bổ sung cho sự kết thúc của tập tin.

2.3.1. Phần đầu

Dòng đầu tiên của một tập tin PDF sẽ là một tiêu đề bao gồm các ký tự 5 ―%‖ PDF, tiếp theo là cách ghi một số phiên bản của 1.N hình thức, trong đó N là một chữ số từ 0 đến 7. Một đầu đọc phù hợp sẽ chấp nhận các tập tin với bất kỳ tiêu đề sau đây:

%PDF–1. 0 %PDF–1. 1 %PDF–1. 2 %PDF–1. 3 %PDF–1. 4 %PDF–1. 5 %PDF–1. 6 %PDF–1. 7

Bắt đầu với PDF 1.4, mục Version trong danh mục từ điển của tài liệu (nằm qua mục gốc trong trailer của tập tin, như mô tả trong "Tệp Trailer"), nếu có, sẽ được sử dụng thay vì phiên bản được quy định trong tiêu đề.

2.3.2. Phần thân tệp

Một tập tin PDF sẽ bao gồm một chuỗi các đối tượng gián tiếp đại diện các nội dung của một tài liệu. Các đối tượng, trong đó có các loại cơ bản được mô tả trong "đối tượng", đại diện cho các thành phần của tài liệu như font chữ, các Page, và hình ảnh mẫu. Bắt đầu với PDF 1.5, Phần thân cũng có thể chứa các đối tượng Stream mỗi trong số đó có chứa một chuỗi các đối tượng gián tiếp, xem "đối tượng Streams".

2.3.3. Bảng tham chiếu chéo

Bảng tham chiếu chéo chứa thông tin cho phép truy cập ngẫu nhiên các đối tượng gián tiếp trong các tập tin để toàn bộ tập tin không cần phải đọc để xác định vị trí bất kỳ đối tượng cụ thể. Bảng phải có một mục line cho từng đối tượng gián tiếp, xác định số byte của đối tượng đó trong Body của tập tin. (Bắt đầu với PDF 1.5, một số hoặc tất cả các thông tin tham chiếu chéo có thể cách khác được chứa trong Stream tham chiếu chéo Xem thêm, "Cross-Reference Streams‖. Bảng tham chiếu chéo là phần duy nhất của một tập tin PDF với một định dạng cố định, cho phép các mục trong bảng để được truy cập ngẫu nhiên;

2.3.4. Cập nhật gia tăng

Các nội dung của một tập tin PDF có thể được cập nhật từng bước mà không cần viết lại toàn bộ tập tin. Khi cập nhật một tập tin PDF từng bước, thay đổi sẽ được nối vào cuối của tập tin, để lại nội dung ban đầu của nó còn nguyên vẹn. Ưu điểm chính để cập nhật một tập tin theo cách này là những thay đổi nhỏ để một tài liệu lớn có thể được lưu một cách nhanh chóng. Có lợi thế bổ sung: Trong hoàn cảnh nhất định, chẳng hạn như khi chỉnh sửa một tài liệu trên một kết nối HTTP hoặc sử dụng OLE nhúng (một công nghệ đặc trưng cho Windows), phù

hợp không thể ghi đè lên nội dung của tập tin gốc. Cập nhật cộng dồn có thể được sử dụng để lưu các thay đổi tài liệu trong bối cảnh này.

Hình 2.3: Cấu trúc tệp có gia tăng Cập nhật.

Ví dụ mỗi trang của tài liệu được đại diện bởi một đối tượng một trang từ điển bao gồm tài liệu tham khảo nội dung của trang và các thuộc tính khác, chẳng hạn như hình ảnh của mình trước ("Hình thu nhỏ hình ảnh") và bất kỳ chú thích ("Annotations" ) liên kết với nó. Các đối tượng trang cá nhân được gắn với nhau trong một cấu trúc được gọi là cây trang (được mô tả trong "Page Tree"), do đó được xác định bởi một tham chiếu gián tiếp trong danh mục tài liệu. Cha mẹ, con, anh chị em và các mối quan hệ các đối tượng trong PDF.

2.3.5. Cây trang

Các trang của một tài liệu được truy cập thông qua một cấu trúc được gọi là cây trang, trong đó xác định thứ tự của các trang trong tài liệu. Bằng cách sử dụng cấu trúc cây, phù hợp với đầu đọc chỉ sử dụng bộ nhớ hạn chế, có thể nhanh chóng mở một tài liệu có chứa hàng ngàn trang. Cây có chứa các nút của hai loại trung cấp các nút, được gọi là các nút cây trang, và các nút lá, được gọi là trang đối tượng-có hình thức được mô tả trong các điểm tiếp theo. Phù hợp với sản phẩm này sẽ được chuẩn bị để xử lý bất kỳ hình thức cấu trúc cây xây dựng các nút như vậy. Chú thích cấu trúc đơn giản nhất có thể bao gồm một nút cây trang duy nhất mà tài liệu tham khảo tất cả các trang của tài liệu đối tượng trực tiếp. Tuy nhiên, để tối ưu hóa hiệu suất ứng dụng, phù hợp với một writer có thể xây dựng cây của một hình thức đặc biệt, được gọi là cây cân bằng. Thông tin thêm về hình thức cây có thể được tìm thấy trong cấu trúc dữ liệu và giải thuật, bởi Aho, Hopcroft và Ullman.

2.3.6. Đối tƣợng trang

Page OBbject Là được phân cấp theo sơ đồ hình cây gọi là: ‖Cây trang‖ là các đối tượng trang, mỗi trong số đó là một từ điển xác định các thuộc tính của một trang duy nhất của tài liệu.

2.3.7. Thừa kế thuộc tính trang

Một số các thuộc tính trang trình bày trong bảng sau được chỉ định là di truyền. Nếu một thuộc tính như vậy được bỏ qua từ một đối tượng trang, giá trị của nó được thừa hưởng từ tổ tiên một nút trong cây trang. Nếu thuộc tính là một trong những yêu cầu, một giá trị được cung cấp bằng một nút tổ tiên. Nếu thuộc tính là tùy chọn và không có giá trị thừa kế được chỉ định, giá trị mặc định sẽ được sử dụng. Một thuộc tính do đó có thể được xác định một lần cho một tập hợp toàn bộ các trang bằng cách xác định nó trong một nút cây trang trung gian và sắp xếp các trang chia sẻ các thuộc tính như con cháu của nút đó. Hình sau minh họa thừa kế các thuộc tính. Trong cây trang hiển thị, trang 1, 2, và 4 được xoay chiều kim đồng hồ 90 độ, trang 3 của 270 độ, trang 6 180 độ, và các trang 5 và 7 quay ở (0 độ).

Hình 2.4: Kế thừa các thuộc tính của trang.

2.3.8. Dòng nội dung và tài nguyên

2.3.8.1. Dòng nội dung

Là phương tiện chính để mô tả sự xuất hiện của các trang và các yếu tố đồ họa khác. Một dòng nội dung phụ thuộc vào thông tin chứa trong một từ điển tài nguyên liên quan; kết hợp, các đối tượng tạo thành một thực thể khép kín. Điều khoản phụ này mô tả các đối tượng này.

2.3.8.2. đối tượng dòng

Là một đối tượng dòng PDF có dữ liệu bao gồm một chuỗi các hướng dẫn mô tả yếu tố đồ họa được vẽ trên một trang. Các hướng dẫn sẽ được biểu diễn dưới dạng các đối tượng PDF, sử dụng cú pháp cùng một đối tượng như trong phần còn lại của các tài liệu PDF. Tuy nhiên, trong khi các tài liệu như một toàn thể là một tĩnh, cấu trúc dữ liệu truy cập ngẫu nhiên, các đối tượng trong dòng nội dung được hiểu và thực thi tuần tự.

2.3.8.3. Từ điển tài nguyên

Như đã nêu ở trên, các toán hạng cung cấp cho các nhà khai thác trong một dòng nội dung thì chỉ được các đối tượng trực tiếp; các đối tượng gián tiếp và tài liệu tham khảo đối tượng không được phép. Trong một số trường hợp, một Operator sẽ đề cập đến một đối tượng PDF được định nghĩa bên ngoài dòng nội dung, chẳng hạn như một từ điển chữ hoặc một dòng chứa dữ liệu hình ảnh. Này được thực hiện bằng cách xác định các đối tượng như các nguồn tài nguyên được đặt tên và đề cập đến tên của họ từ bên trong dòng nội dung. Tài nguyên được đặt tên sẽ chỉ có ý nghĩa trong bối cảnh của một dòng nội dung. Phạm vi của một tên tài nguyên được cho một dòng nội dung cụ thể và sẽ không liên quan đến bên ngoài biết đến định danh cho các đối tượng như font chữ. Tài liệu tham khảo từ một đối tượng bên ngoài của nội dung Stream khác bên ngoài của Stream nội dung được thực hiện bằng cách tham chiếu đối tượng gián tiếp chứ không phải là nguồn tài nguyên được đặt tên.

2.3.9. Đối tƣợng String

PDF hỗ trợ một đối tượng chuỗi cơ bản ("String Object"). Các đối tượng chuỗi sẽ được tiếp tục đủ điều kiện như là một chuỗi văn bản, một chuỗi PDFDocEncoded, chuỗi ký tự ASCII, hoặc byte chuỗi. Trình độ chuyên môn tiếp tục phản ánh mã hóa được sử dụng để đại diện cho các nhân vật hoặc glyphs mô tả bởi chuỗi. Chú thích Loại chuỗi văn bản là một subtype của loại dây và đại diện cho dữ liệu được mã hóa bằng cách sử dụng quy ước cụ thể;

Loại chuỗi văn bản được sử dụng cho các chuỗi ký tự đó sẽ được mã hóa trong một trong hai PDFDocEncoding hoặc các chương trình mã hóa ký tự Unicode UTF-16BE. PDFDocEncoding có thể mã hóa tất cả các tiêu chuẩn ISO Latin 1 ký tự và là tài liệu trong Phụ lục D. UTF-16BE có thể mã hóa tất cả các ký tự Unicode. UTF-16BE và Unicode mã hóa ký tự được mô tả trong tiêu chuẩn Unicode bằng Unicode Consortium;

PDFDocEncoding không hỗ trợ tất cả các ký tự Unicode trong khi UTF-16BE cho chuỗi văn bản được mã hóa trong Unicode, hai byte đầu tiên được 254 tiếp theo 255. Hai byte đại diện cho Unicode để byte đánh dấu, U + FEFF, chỉ ra rằng chuỗi được mã hóa trong UTF- 16BE (về cuối lớn) chương trình mã hóa được quy định trong tiêu chuẩn Unicode.

2.3.10. Đối tƣợng Rectangles

Hình chữ nhật được sử dụng để mô tả các vị trí trên một trang và khung giới hạn cho một loạt các đối tượng. Một hình chữ nhật được ghi như là một mảng của bốn số cho các tọa độ của một cặp góc đối diện. Mặc dù hình chữ nhật thông thường được quy định bởi góc dưới bên trái và bên phải phía trên của chúng, đó là chấp nhận được để xác định bất kỳ hai góc đối diện. Các ứng dụng quá trình PDF cần được chuẩn bị để bình thường hóa hình chữ nhật như vậy trong trường hợp góc cụ thể là bắt buộc.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng phần mềm bình bản tự động phuc vụ ngành công nghiệp in (Trang 27 - 32)

Tải bản đầy đủ (PDF)

(64 trang)