(三)pdf的構成之檔案頭綜述

2022-07-31 15:42:11 字數 744 閱讀 6905

引自:

一般情況下,檔案頭,即,pdf檔案的第一行,它用來定義pdf的版本,從而確定該pdf遵循的哪個版本的pdf規範。

pdf版本是向下相容的,即高版本的規範,相容低版本的規範。

目前我見過的版本有:

%pdf-1.0

%pdf-1.1

%pdf-1.2

%pdf-1.3

%pdf-1.4

%pdf-1.5

%pdf-1.6

%pdf-1.7(最常見)

%pdf-1.8(在標準文件裡沒有,只是遇到一些客戶特殊的檔案中會出現,非常少見)

以上都是常見的版本號,還有乙個特殊的版本,如pdf/x、pdf/e 和 pdf/a,pdf/vt等,它們在pdf檔案中表現為檔案頭版本+outputintent相結合來標識版本。

在catalog字典中,存在version屬性,它的值也是pdf版本號,該版本號如果高與檔案頭版本號,則採用這裡的版本號,否則忽略。這裡的version屬性是可選的,通常是在pdf增量寫的情況下用到。因為原pdf檔案進過編輯後,新增或修改的內容需要遵循的版本比原本更高,而增量寫的方式要求原pdf檔案內容不修改,所以,通過修改catalog物件中version,只要增量部分寫入catalog物件,就可以改變pdf的版本號。

pdf檔案頭有些情況下,並不只儲存了版本號,還可能在版本號前面加一下使用者自定義的內容,用來滿足使用者的特殊需求。當遇到這種情況時,對檔案頭的讀取演算法就要寫的靈活一點,不然取值會發生錯誤,同時還會影響到間接物件讀取的問題

(七)pdf的構成之檔案體(page物件)

頁面 page 通過頁面樹訪問文件的頁面,頁面樹定義pdf文件中的所有頁面。樹包含表示pdf文件頁面的節點,可以是兩種型別 中間節點和葉節點。中間節點也稱為頁面樹節點,而葉節點稱為頁面物件。最簡單的頁面樹結構可以由單個頁面樹節點組成,該節點直接引用所有頁面物件 因此所有頁面物件都是葉子 屬性 指示包...

PDF格式分析(五)文件結構之檔案頭

一般情況下,檔案頭,即,pdf檔案的第一行,它用來定義pdf的版本,從而確定該pdf遵循的哪個版本的pdf規範。pdf版本是向下相容的,即高版本的規範,相容低版本的規範。目前我見過的版本有 pdf 1.0 pdf 1.1 pdf 1.2 pdf 1.3 pdf 1.4 pdf 1.5 pdf 1.6...

哈夫曼壓縮之壓縮檔案標頭檔案的不同方式

這是對之前的哈夫曼編碼 壓縮與解壓的乙個補充說明,這裡只做簡單的原理介紹,不做過多的具體實現。由於不同的檔案壓縮所用編碼不同,必須將對應的編碼寫入到壓縮檔案中,才能在解壓時還原。標頭檔案不同,所得的檔案解壓方式不同,大小也會有所不同,甚至會變大。定義壓縮後的檔案格式如下圖所示,其中藍綠色塊為標頭檔案...