PDF檔案的社會安全號碼碼
1 身份證我們每個成年人都有一個身份證, 身份證上有很多資訊, 有我們的姓名, 性別, 籍貫, 出生日期, 還有一個很重要的就是社會安全號碼碼. 而且每個人的社會安全號碼碼都不相同。我們的這些身份證上的資訊包括省份證都進入了資訊庫。而我們也經常在某些場合填寫自己的社會安全號碼碼,比如開辦銀行帳號的時候。而一旦有了該號碼,銀行就可以擷取你的其它基本資料,因為你的社會安全號碼碼是唯一的,而在身份證上的其它資訊都不是唯一的,同名的人很多,同出生日期的人更多。類似的還有超市裡的貨物標籤,每個標籤只有一個條碼和對應的號碼,不過這個條碼有很多的對應資訊,因此說經過讀碼器掃描後可以得到相應的貨物名稱,出廠日期,價格等等資訊。對於貨物來說條碼就是其社會安全號碼碼,方便和加速了貨物的銷售及管理。
2 PDF檔案的社會安全號碼碼每個PDF檔案都有個唯一的字串與該檔案對應,我們可以把它看作是該PDF檔案的社會安全號碼碼,其字串儲存在檔案的trailer字典中。用文字編輯器開啟一個PDF檔案,可以看到: <</Size433/Root 1 0 R/Info 3 0 R/ID[<2C12621CBD44224CA14C29823A6B31F4><2C12621CBD44224CA14C29823A6B31F4>]>> 其中紅色部分就是檔案的ID。ID是一個數組,有兩個元素,都是32位元組長度, 而且這兩個元素的內容完全一樣。第一個元素是不變的,而第二個元素是會隨著PDF檔案的修訂而改變的。我對該檔案在ACROBAT裡做了修改,trailer字典變成如下: <</Size433/Root 1 0 R/Info 3 0 R/ID[<2C12621CBD44224CA14C29823A6B31F4><BC67F3302346184DA5CCE275D6BD836D>]>> 我們會發現ID數組的第二個元素髮生了變化,說明該PDF檔案在建立以後已經被修改過了。
3 如何獲得PDF檔案的社會安全號碼碼那這個ID是如何產生的呢?PDF規範沒有作限定,如果你要產生一個PDF檔案,那麼你可以定義自己的方法來產生該ID,當然要確保該ID的唯一性。因此一般該ID是通過檔案的內容,檔案的產生或修改日期,甚至電腦的硬體資訊等來產生的HASH序列。
4 PDF檔案社會安全號碼碼的作用PDF中的ID對一些文檔的處理流程格外有用,如果我們要管理大量的檔案,我們必須建立一個檔案資訊表,對於每個檔案都需要設定一個唯一的ID,這個ID一般是流水號。這種方式系統的耦合性非常大而且很容易造成檔案的重複和空間的浪費。舉個例子,我們有兩個這樣的系統,每個系統都獨立地維護一個資料庫,有可能我們會在這兩個系統中錄入一些相同的檔案,但是他們的ID號不同,因此說如果要將這兩個資料庫合并(也不可能合并),那麼勢必會造成資源的極大浪費。一般來我們的文檔系統都有服務端和客戶瀏覽器。如果利用PDF檔案自身攜帶的ID來作為唯一的標識,那麼就不必要再傳送額外的資訊了,PDF瀏覽器可以通過該PDF檔案中的ID來和伺服器端進行一些互動和接受伺服器端的管理,極大地方便了文檔的處理流程。