PDF參照流分析

2021-06-05 11:53:28 字數 1015 閱讀 2108

從pdf1.5開始,參照資訊被儲存在參照流中而不是參照表中。參照流提高以下優勢: 

  更簡潔緊湊的表示參照資訊。 

  可以訪問儲存在物件流中的壓縮物件(參看3.4.6部分,「物件流」),並允許以後加入新

的參照選項型別。 

但是也提高了一定的解析資料的難度,下面我將對pdf參照流進行分析:

讀取乙個sample.pdf(獲取start xref位址獲取firt-page cross-reference)

35 0 obj

<>/filter/flatedecode/id/index[24 23]/info 23 0 r/length 61/prev 12284/root 25 0 r/size 47/type/xref/w[1 2 1]>>stream

h輈bd``b`?m 恅?,驛,%怐愢?$轎0012?

endstream

endobj

先來分析下資料:

35 0 :代表物件號為35,0為生成號,有什麼不懂可以去查下pdf reference

filter :代表過濾器類別,這裡是 flatedecode,我們可以使用zlib的inflate來完成解壓

decodeparms:這個主要代表是解碼引數,colunms代表每行樣例數,predictor為使用png filter,其實還涉及兩個引數:bitspercomponent 預設值為8 colors 預設值為1

w:表示資料域分別為 1個位元組 2個位元組和乙個位元組

現在針對上面資料進行分析:如果熟悉png解析的人,很容易理解下面的演算法:

before:使用zlib解壓好的資料

private void disposedata(byte before)

}for (int i = 1; i < row; i++)

}for (int i = 0; i < row; i++)

}

pdf 賣肯錫 《麥肯錫分析》 pdf

第 1 頁 第 一 篇 麥肯錫理性思考 我 在 麥 肯 錫 公 司 做 社 會 研 究 工 作 時 目 睹 許 多 國 家 政 府 機 關 和 許 多 大 型 企 業 所 做 的 決 策 其 品 質 之 差 使 人 難 以 相 信 小 者 造 成 幾 千 萬 美 元 的 損 失 大 者 則 造 成 ...

PDF分析文字(1)利用python對PDF的讀取

1,安裝第三方庫檔案 pdfminer3k。安裝方式 pip install pdfminer3k 中文參考文件 3,資料獲取思路 1 通過pdf轉html,再利用爬蟲技術解決,目前來說這方面的技術比較成熟,而且參考很多。2 通過pdf轉為txt格式,再通過字元提取的方式處理。這樣的方式容易理解。3...

PDF格式分析(一)簡介

概述 pdf檔案是一種程式設計形式的文件格式,它所有顯示的內容,都是通過相應的操作符進行繪製的。pdf基本顯示單元包括 文字,向量圖,pdf擴充套件單元包括 水印,電子署名,注釋,表單,多 3d pdf動作單元 書籤,超連結 初學者可以簡單這麼理解,對於研究比較深入的人員來說,擁有動作的單元有很多個...