日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pdf文件内容查看器 -- 采用wpf开发

發布時間:2023/12/4 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pdf文件内容查看器 -- 采用wpf开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言?pdf是一種應用非常廣的版式文檔格式,已成為事實上的國際標準。關于pdf格式的文章汗牛充棟,本文也是關于pdf格式的文章,但是本文不是紙上談兵;本人這幾周一直研究pdf格式內容,不但對pfd格式的內容有所了解,同時也寫了一款軟件,可以方便查看pdf文件內容。使用該軟件,同時結合pdf相關文章,可以很快掌握pdf格式內容。

軟件截圖:?軟件下載地址 點我下載

pdf文件內容簡要介紹

這里對pdf文件格式做個粗略介紹,只有了解了這些內容,才能知道如何使用該軟件。

pdf文檔總結構如下:

1)header:主要包含版本信息

2)tailer:pdf樹結構的入口點。

?3)交叉索引表;該表包含pdf每個obj在文件中的位置,根據該表,可以快速定位和加載obj的內容。對于大文件,不必一次加載所有的內容,只需加載當前頁包含的obj即可。

?4) body。包含obj對應的內容。

pdf obj樹狀結構

要完成對pdf文件的分析和顯示,首先需要構建pdf文件的obj的樹狀模型。這個樹狀模型的入口點就是trailer,trailer包含root元素(Catalog),其下包含Pages,Page。Page中包含內容和資源。

?

結合軟件分析pdf文件格式

用該軟件打開一個pdf文件,對照示例來分析。

1)pdf header:?

2)trailer和交叉引用表,

3)body?由一系列obj組成。每個obj由唯一編號,可根據編號定位到內容。

?4)文檔樹狀結構

頁集是頁的集合,pdf規范建議用平衡樹來組織頁,便于快速查找。

?

編程心得

1 不能嚴格按照pdf標準來分析pdf。

pdf文檔應用非常廣,生成pdf文件的軟件非常多。不是所有的pdf文檔都嚴格符合標準。所謂“林子大了,什么鳥都有“。所以開發軟件要經過大量的pfd文檔測試。

2 分析obj的內容

pdf索引表只給出了obj開始文件位置。obj一般包含dictionary和stream兩部分。所以需要根據關鍵詞來解析obj,這就需要有一定的技巧。dictionary開始和結束的關鍵字為“<<” 和">>",但是dictionary可能包含子dictionary。只靠關鍵字是無法確定dictionary的開始和結束位置的,需要一定的技巧。

?

?

?3 讀取obj的效率。

不必一次加載所有的obj,可以采取按需加載。

后記?讀取pdf文件的內容,在內存中構建obj樹形結構,是下一步分析和顯示pdf的基礎。本人通過閱讀相關資料,加上編寫代碼,實現了對pdf文件內容的分析。理論和實踐相結合,就能快速的掌握相關知識。本軟件可以方便的窺探pdf內部結構,希望該軟件為你了解和開發pdf有所幫助。

總結

以上是生活随笔為你收集整理的pdf文件内容查看器 -- 采用wpf开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。